0

这是我的表单,我期望在我的 div id="response" 中发布结果

<!DOCTYPE html>
<html>
<head>
<title>AJAX POST</title>
<script src="jquery.js"></script>
<script>
    $(document).ready(function(){
        $('input[name="submit"]').click(function(){
            var username=$('input[name="username"]').attr("value");
            var password=$('input[name="password"]').attr("value");
            var data1=encodeURIComponent(username);
            var data2=encodeURIComponent(password);
            $.post("response.php",{username:data1,password:data2},function(data){
            $("#form").hide();
            $("#response").text(data);
            });
        });
    });
</script>
</head>
<body>
<div id="form">
<form action="response.php" method="post">
<input type="text" name="username" value=""/><br/>
<input type="password" name="password" value=""/><br/>
<input type="button" name="submit" value="submit"/>
</form>
</div>
<div id="response"></div>
</form>
</body>
</html>

这是我的服务器端脚本

<?php
echo $_POST["username"]."<br/>";
echo $_POST["password"];
?>

填写表格并单击提交按钮后,我得到的回复是"<br/>" 我不明白这一点。请解释一下。

4

1 回答 1

4

要获取输入值,您需要使用.val()而不是.attr('value')。将在此处返回(空字符串).attr('value')属性的值''

var username=$('input[name="username"]').val();
var password=$('input[name="password"]').val();
于 2013-09-12T15:03:50.887 回答