2017-04-07 49 views
1

检索所选下拉选项中的值我似乎无法从select.php中将选定的选项值存入value_selected.php文件。console.log(data)什么也不显示。这是为什么?

select.php

<!DOCTYPE html> 
<html> 
<head></head> 
<body> 
<script src="js/jquery-3.2.0.min.js"></script> 

<form method="POST" action=""> 
<label for "sel_opt">Select value: </label> 
<select name="sel_opt" id="sel_opt"> 
    <option value="1">1</option> 
    <option value="2">2</option> 
</select> 
<input name="submit" type="submit" id="submit" value="Submit"> 
</form> 

<div id="result"></div> 

<script> 
$(document).ready(function(){ 
      $("#submit").click(function(){ 
      $.ajax({ 
          url:"http://localhost/value_selected.php", 
          type:"POST", 
          success:function(data) 
          { 
          console.log(data); 
          $('#result').html(data); 
          } 
        }); 
       }); 
      }); 
</script> 
</body> 
</html> 

value_selected.php

<?php 
$output = ""; 
if(isset($_POST["submit"])) { 
if(isset($_POST["sel_opt"])) { 
$val = $_POST["sel_opt"]; 
if ($val == 1) { 
     $output = "<p>Value 1 selected</p>"; 
} else { 
    $output = "<p>Value 2 selected</p>"; 
} 
echo $output; 
} 
?> 
+2

您没有发送带有AJAX请求的数据。所以你永远不会输入'if(isset($ _ POST [“submit”])){'并且从不输出任何内容。添加一个'else',你会看到你永远不会进入。 – chris85

+0

@ chris85啊,我明白了。那我该怎么做? – cathy305

+0

您需要将'data:{name:“John”,位置:“Boston”}字段传递给请求。参见http://api.jquery.com/jquery.ajax/在这个例子中,PHP中的字段将是'$ _POST ['name']'和'$ _POST ['location']'值将是'john '和'波士顿'。 – chris85

回答

1

添加data:到你的Ajax配置对象与表单值。

<script> 
$(document).ready(function(){ 
    $("#submit").click(function(){ 
     $.ajax({ 
      url:"http://localhost/value_selected.php", 
      type:"POST", 
      data: $('form').serialize(), 
      success:function(data) 
      { 
       console.log(data); 
       $('#result').html(data); 
      } 
     }); 
    }); 
}); 
</script> 
+0

我编辑了我以前的评论。我试过这个,并从value_selected.php中删除了'if(isset($ _ POST [“submit”]))',它起作用! – cathy305