为什么我不从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>
答案 0 :(得分:1)
不要将处理程序附加到submit事件。改为附加到按钮点击事件。
答案 1 :(得分:-1)
在jsFiddle上测试您的答案表明发送了正确的信息,但提出了一些小建议: 设置脚本的类型
<script type='text/javascript' src='http://code.jquery.com/jquery-latest.min.js'></script>
使用.val()
代替`.attr('value')``
而不是$(document).ready(function(){})
只需使用$(function(){})