2013-11-17 4 views
0

Я стараюсь, чтобы все, что я могу придумать, передать переменную PHP в Javascript и вернуться к PHP, поскольку код, мы надеемся, покажет. Результат скрипта всегда «9», и я не могу определить, почему.Скрытое значение не отправлено

<script> 
function changeContent3(func){ 
    <?php if (isset($_POST['userid'])) { 
     $userid=$_POST['userid']; 
    } else { 
     $userid=9; 
    } ?> 
    if (func=='12') {message = "<?php SignUpForm($userid); ?>";} 
    document.getElementById('content2').innerHTML = message; 
} 
</script> 
<link rel="stylesheet" href="include/layout.css" type="text/css" media="all" /> 
<div id="floater"></div> 
<div id="centeredinv"> 
<div id="centered1"> 
    <div id="content2"> 
    <div class='FMblock'> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='1'><a class="udlinks" onclick="changeContent3('12');"><i>one</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='2'><a class="udlinks" onclick="changeContent3('12');"><i>two</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='3'><a class="udlinks" onclick="changeContent3('12');"><i>three</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='4'><a class="udlinks" onclick="changeContent3('12');"><i>four</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='5'><a class="udlinks" onclick="changeContent3('12');"><i>five</i></CENTER></a></form> 
     </div> 
    </div> 
    </div> 
</div> 
</div> 
<?php 
function SignUpForm($userid) { 
echo"YAY ".$userid; 
} 

Любая помощь будет оценена

+0

Будет ли представлена ​​одна из этих форм? – kero

+0

Я надеялся, что значение будет нести с помощью onClick –

+0

'onClick' не равно' submit' –

ответ

0

Не очень элегантный, но вы можете попробовать что-то, как показано ниже. В моем примере «один» не имеет идентификатора пользователя, поэтому он будет 9. Другие имеют идентификатор пользователя.

Edit: там была ошибка в моем предыдущем коде

<script> 
function changeContent3(func,func2){ 
    userid = func2; 
    if(!userid) { 
     userid = 9; 
    } 
    if (func=='12') {message = "YAY " + userid;} 
    document.getElementById('content2').innerHTML = message; 
} 
</script> 
<link rel="stylesheet" href="include/layout.css" type="text/css" media="all" /> 
<div id="floater"></div> 
<div id="centeredinv"> 
<div id="centered1"> 
    <div id="content2"> 
    <div class='FMblock'> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='' id="a"><a class="udlinks" onclick="changeContent3('12', + document.getElementById('a').value);"><i>one</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='2' id="b"><a class="udlinks" onclick="changeContent3('12', + document.getElementById('b').value);"><i>two</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='3' id="c"><a class="udlinks" onclick="changeContent3('12', + document.getElementById('c').value);"><i>three</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='4' id="d"><a class="udlinks" onclick="changeContent3('12' , + document.getElementById('d').value);"><i>four</i></CENTER></a></form> 
     </div> 
     <div class="FMcells"> 
      <CENTER><form method="post"><input type='hidden' name='userid' value='5' id="e"><a class="udlinks" onclick="changeContent3('12' , + document.getElementById('e').value);"><i>five</i></CENTER></a></form> 
     </div> 
    </div> 
    </div> 
</div> 
</div> 
+0

Это работает отлично, но как получить идентификатор пользователя как переменную для функции php SignUpForm ($ userid) {echo "YAY". $ userid;} –

+0

Я редактировал свой код, потому что была небольшая ошибка. С моим кодом вам больше не нужна функция php. Вам это действительно нужно? и почему ? – user2196728

+0

Я предполагаю, что мне нужно, чтобы отобразить данные mysql об идентификаторе пользователя. Каждый из userid имеет свои собственные данные MySQL, такие как имя пользователя. Именно эта информация будет отображаться после onClick –

0

Вот пример кода, чтобы направлять вас. У трех нет идентификатора пользователя, другие есть. Вся эта подставка кода находится на одной странице с именем test.php.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html xmlns="http://www.w3.org/1999/xhtml"> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<title>stack</title> 
</head> 
<?php 
if (isset($_POST['userid']) && $_POST['userid'] != "") { 
    $userid=$_POST['userid']; 
} else { 
    $userid = 9; 
} 
?> 
<body> 
<form id="form1" name="form1" method="post" action="test.php"><input type='hidden' name='userid' value='1'><a href="#" onclick="document.forms['form1'].submit();">one</a></form> 
<form id="form2" name="form2" method="post" action="test.php"><input type='hidden' name='userid' value='2'><a href="#" onclick="document.forms['form2'].submit();">two</a></form> 
<form id="form3" name="form3" method="post" action="test.php"><input type='hidden' name='userid' value=''><a href="#" onclick="document.forms['form3'].submit();">three</a></form> 
<div id="content2"><?php echo $userid; ?></div> 
</body> 
</html> 
Смежные вопросы