【问题标题】:Echo PHP based on form selection jQuery .post AJAXEcho PHP 基于表单选择 jQuery .post AJAX
【发布时间】:2012-10-04 20:56:46
【问题描述】:

我正在使用 jQuery 在表单上进行选择后发送 AJAX 请求,并且我希望根据所做的选择将不同的内容回显到 div 中。这是我的表格:

<form name="myform" id="myform" method="post" action="#">
   <select name="myselect" id="myselect">
      <option>-- Make a selection --</option>
      <option value="1">Option 1</option>
      <option value="2">Option 2</option>           
   </select>
</form>

这是页面前面的javascript:

$(document).ready(function() {
   $('#myselect').change(function() {
      $(this).parents("form").submit();
   });
   $('#myform').submit(function() { 
      $.post(
         'myscript.php',
         $(this).serialize(),
         function(data){
            $("#mydiv").html(data)
         }
      );
      return false;   
   });
});

这里是 myscript.php:

<?php
   if ($_POST['myselect'] = "1") {
      echo "Div contents 1";
   }
   if ($_POST['myselect'] = "2") {
      echo "Div contents 2";
   }
?>

我的问题是:在我对表单进行任何选择后,“Div 内容 1Div 内容 2”会回显到 mydiv 中。如果选择了选项 1,我试图让它回显“Div 内容 1”,如果选择了选项 2,我试图让它回显“Div 内容 2”。

感谢并为这个冗长的问题道歉。

【问题讨论】:

    标签: php jquery ajax forms post


    【解决方案1】:

    代码:

     if ($_POST['myselect'] = "1") 
    

     if ($_POST['myselect'] = "2") {
    

    将始终评估为真,因为它的分配。

    你需要使用:

      if ($_POST['myselect'] == "1") {
    

    【讨论】:

    • 啊,如此明显的错误!非常感谢您指出这一点:)
    【解决方案2】:

    这是一个很好的老歌,

    改成

    <?php
     if ($_POST['myselect'] == "1") {
      echo "Div contents 1";
     }
     if ($_POST['myselect'] == "2") {
      echo "Div contents 2";
     }
    ?>
    

    注意 ==

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-31
      • 1970-01-01
      • 1970-01-01
      • 2019-08-03
      • 1970-01-01
      • 2014-12-30
      • 2014-02-22
      相关资源
      最近更新 更多