2010-08-06 19 views
1

爲什麼我不能從jQuery獲取數據?變量POST始終爲空jquery和post

<!DOCTYPE html> 
<html> 
<head> 
<script src="http://code.jquery.com/jquery-latest.min.js"></script> 
<script> 
$(document).ready(function(){ 
    $("form#submit").submit(function() { 

    var fname = $('#fname').attr('value'); 
    var lname = $('#lname').attr('value'); 
     $.ajax({ 
      type: "POST", 
      url: "#", 
      data: "fname="+ fname +"& lname="+ lname, 
      success: function(){ 
       $('form#submit').hide(function(){$('div.success').fadeIn();}); 

      } 
     }); 
    return false; 
    }); 
}); 
</script> 
</head> 
<body> 
<?php 
echo 'fname:' . $_POST['fname'] . '<br/>'; 
echo 'lname:' . $_POST['lname']; 
?> 
<div class="container"> 
<form id="submit" method="post"> 
     <fieldset> 
      <legend>Enter Information</legend> 
      <label for="fname">Client First Name:</label> 
<input id="fname" class="text" name="fname" size="20" type="text"> 

      <label for="lname">Client Last Name:</label> 
<input id="lname" class="text" name="lname" size="20" type="text"> 

      <button class="button positive"> <img src="../images/icons/tick.png" alt=""> Add Client </button> 
     </fieldset> 
    </form> 
<div class="success" style="display: none;">Client has been added.</div> 
</div> 
</body> 
</html> 

回答

1

不要將處理程序附加到提交事件。改爲附加到按鈕點擊事件。

+0

你能否澄清一點,因爲現在我不明白問題出在哪裏。謝謝 – user319854 2010-08-06 12:37:37

-1

測試上jsFiddle你的答案表明,正確的信息被髮送,但是幾個小的建議: 設置你的腳本

<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'></script> 

使用.val(),而不是`.attr(「值」)的類型``

而不是$(document).ready(function(){})只需使用$(function(){})