没有jQuery的价值

时间:2013-12-16 00:47:11

标签: php jquery html

<form method="POST">
<div id="showme">Show me <?php echo $_POST['name']?></div>
Send the value<input type="radio" name="name" value="ja"/>
<input type="submit" id="submit" name="submit" value="BEREKENEN! ">
</form>
<script>
 $(document).ready(function () {
    $('#showme').hide();
    $('#submit').click(function(e) {
      e.preventDefault();
      $('#showme').fadeIn(5000);
    });
  });
</script>

此代码不会将radiobutton的值发送到showme div。 当我在$_POST['name']代码之间使用hide()fadeIn()时,我无法收到<script>

每当我不使用jQuery它发送数据 - 使用它时,它不会让我发送值。 我如何解决这个问题,这只是一个单选按钮的例子。我有一个6个radiobutton列表需要发送到同一个文件的PHP部分,我不想为此创建另一个文件。

此代码将淡入请求的div,它会显示Show me,但它不会显示我要求的值<?php echo $_POST['name']?>

1 个答案:

答案 0 :(得分:1)

在服务器上解析PHP。在任何提交内容发生之前,<?php echo $_POST['name']?>已经过评估并echo d到页面。你需要的是使用AJAX。

您只需使用常规按钮替换submit按钮,即可完全删除<form>元素。

jQuery的:

$('#submit').on('click', function(evt) {
    var e = evt || window.event;
    e.preventDefault();
    $.post('page.php', { name: $('input[name="name"]').val() }, function ( data ) {
        $('#showme').append(data).fadeIn(5000);
    });
    return false;
});

(如果您在submit转入button下方执行操作,则不需要e.preventDefault()

PHP:

if(isset($_POST['name'])) { 
    echo $_POST['name'];
    return;
}

HTML:

<div id="showme">Show me </div>
<label for="name">Send the value</label><input type="radio" name="name" value="ja"/>
<input type="button" id="submit" name="submit" value="BEREKENEN!">

我不太确定你可以通过PHP的单选按钮获得非BOOLEAN值。您可能最好使用<input type="hidden" value="ja" />type="text"