【发布时间】:2016-04-26 11:02:45
【问题描述】:
为什么我在不加载页面使用javascript提交表单时无法获取发布数据?
先加载页面a.php然后按OK button为什么不回显$_POST["id"]
这里是javascript代码
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>
<form id="myForm" name="myForm" action="b.php" method="post">
<input type="text" name="id" value="1111111111111111111">
<button name="element" id="element" type="submit">OK</button>
<div id="element_loading" style="display: none;">loading..................</div>
<span id="element_result"></span>
</form>
<script type="text/javascript">
$('#myForm').submit(function(e){
e.preventDefault();
$.ajax({
url: $("#myForm").attr("action"),
data: $("#myForm:input").serializeArray(),
type: 'post',
dataType: 'html',
success: function(data){
$("#element_result").html(data);
},
beforeSend: function(){
document.getElementById("element").disabled = true;
document.getElementById("element_loading").style.display="inline";
$("#element_result").hide()
},
complete: function(data){
document.getElementById("element").disabled = false;
document.getElementById("element_loading").style.display="none";
$("#element_result").show()
}
});
});
</script>
这是php代码
<?PHP echo $_POST["id"]; ?>
【问题讨论】:
-
按F12打开控制台,查看是否有错误提示。
-
@Phiter Fernandes -- 没有看到任何错误。
-
打开网络选项卡并按 F5。检查是否正在请求 b.php 页面。
-
$("#myForm:input")你的选择器是错误的,它要么是#myForm :input中间有一个空格,要么只是id#myForm, -
要在
form中查找:input元素,您必须在selector中有一个空格,因为:input是form的子元素!
标签: javascript php forms