【发布时间】:2017-03-30 05:09:07
【问题描述】:
我有一个带有一个输入字段和提交按钮的表单。我知道可以提交按钮的名称,但由于某种原因,它没有被发布到服务器。
$(document).ready(function(){
$("form").submit(function(e) {
e.preventDefault();
console.log($(this).serialize());
return false;
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form method="post">
<div class="a">
<label>Name</label>
<input name="projectName" type="text">
</div>
<div class="b">
<input name="newProject" value="Save Project" type="submit"></div>
</form>
<p>"newProject" field from submit input is not being posted</p>
通过print_r($_POST) 唯一可见的是Array([projectName] => ""),但表单名称“newProject”不可见,甚至不被发送。
这是一个演示它的小提琴:https://jsfiddle.net/bosLyn1w/
为什么会发生这种情况?如何提交提交输入的名称?
【问题讨论】:
-
我不确定您的期望是什么——您的代码完全按照编写的方式工作。如果您想使用 jQuery 发出某种 AJAX 请求,那么最好将它放在您的
submit处理程序中。另外,在我看来,您可以在问题中发布相关的 JavaScript,而不是依靠用户点击您的小提琴——这只是对社区的礼貌。 -
@anied 已修复,我添加了一个代码 sn-p