输入提交名称未发布

时间:2017-03-30 05:09:07

标签: jquery html forms submit

我有一个带有一个输入字段和提交按钮的表单。我知道按钮的名称可以提交但由于某种原因,它没有被发布到服务器。

$(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/

为什么会发生这种情况?如何提交提交输入的名称?

1 个答案:

答案 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>