隐藏div后无法发送值

时间:2013-12-15 16:23:54

标签: php jquery html

<div id = "result"> Fade me in and hide div hideme</div>

<div id="hideme">
  <form method="POST">
    Yes<input type="radio" name="name" value="yes"/>
    No<input type="radio" name="name" value="no" checked=true />
    <input type="submit" id="submit" name="submit" value="HIDE NOW!" />
  </form>
</div>


<script>
  $(document).ready(function () {
    $('#result').hide();
    $('#submit').click(function(e) {
      e.preventDefault();
      $('#hideme').hide();
      $('#result').fadeIn(5000);
    });
  });
</script>

这将隐藏我提交的div,无论何时点击提交它都不会向PHP发送值。 如何解决这个问题,让它将值发送给PHP,以便我从html中获取值?

1 个答案:

答案 0 :(得分:0)

你的jquery点击处理函数中有e.preventDefault();。这意味着当您按下提交按钮时,表单将不会被提交。它只是阻止了该选择器的原始动作。

以下是修复方法。使用ajax。有很多jquery函数,我将向您展示如何使用$.ajax方法。

$('#submit').click(function(e) {
    e.preventDefault();

    $.ajax({
       type: "POST",
       url: "yourphpscriphere.php",
       data: "name=" + $('input[name="name"]').val(),
       success: function() {
          alert('thank you for using my form');
       },
       error: function() {
          alert('an error happened during the request');
       }
    });

    $('#hideme').hide();
    $('#result').fadeIn(5000);
});

请记住将网址更改为您自己的网址。然后,您可以使用php中的$_POST['name']获取单选按钮值。