2017-04-07 73 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