我有一个带有一个输入字段和提交按钮的表单。我知道按钮的名称可以提交但由于某种原因,它没有被发布到服务器。
$(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/
为什么会发生这种情况?如何提交提交输入的名称?
答案 0 :(得分:1)
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"> </script>
<script>
$(document).ready(function(){
$('form').on('click', 'input[type=submit]', function(e) {
$(this.form).data('clicked', this.name);
$('.pVal').html($(this.form).serialize()+ ' <br> '+this.name+'=' +this.value);
console.log($(this.form).serialize());
return false;
});
});
</script>
<form method="post">
<div class="a">
<label>Name</label>
<input name="projectName3" type="text">
</div>
<div class="b">
<input name="newProject4" class="newProject" value="Save Project" type="submit"></div>
</form>
<p class="pVal"> -- Please put the both fields value here ---</p>