javascript - 在javascript中,如何处理表单?

标签 javascript php jquery ajax forms

当我想使用 javascript 发送表单时遇到问题!事实上,代码可以很好地发送表单,但不幸的是我找不到将数据放入表单的方法。

当我们按下完成按钮时,无需使用 js,它就能正常工作,bdd 中的操作也能正常工作!

这两种方法的区别是js的post请求中没有Form数据。我已经尝试使用 javacript 创建表单,但无法将名称“Form”放入我的请求中?

那么最好的方法是什么?使用 js 创建一个新表单并发送它还是使用现有的表单?谢谢大家

function recuppoint() {
   $.post('../ajax/point.php',{pseudo:pseudo}, function(data) {
      console.log('['+data + ']');
      $('.infos2').html(data);
	  var durr =  data.split(" :");
	 
	  var test = durr[1].split(" ");
			 if(test[1]==0){
	$("#Form").submit();
		}
	   
 console.log(test[1]);
  
   });
}// End of the function
  	   
setInterval(recuppoint, 1000);// Refresh it each second
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
?php
if (isset($_POST['Form']))
{I do something with bdd}
?>

<form method="post" id="Form" action="" >		
<button type="submit" name="Form">Finish</button>
</form>

为了遵循你们的答案,我尝试这样做,但不起作用!!!!!

我再说一遍,我不需要 ajax 来发送我的表单提交作品,但没有数据!

$.post('/test.php', $('#Form').serialize());

我可以添加我想要的所有路径,没有请求就是发布,提交请求就是发布,没有数据!你能解释一下为什么请求 .submit() 发送时没有数据

第二次更新:form data headers in chrome 这张图片向您展示了当我使用按钮发布表单时发生的情况,这就是我需要的与 bdd 相关的内容!

也许你能很好地理解我的问题!当我使用 js 发布时:标题中没有数据,因此 chrome 中没有任何内容,我看不到您在图片上看到的部分!

第三次更新:

Jsfiddle : {"error": "Shell 表单不验证{'html_initial_name': u'initial-js_lib', 'form': , 'html_name': 'js_lib', 'html_initial_id': u'initial-id_js_lib ', 'label': u'Js lib', 'field': , 'help_text': '', 'name': 'js_lib'}{'html_initial_name': u'initial-js_wrap', 'form': , ' html_name': 'js_wrap', 'html_initial_id': u'initial-id_js_wrap', 'label': u'Js wrap', 'field': , 'help_text': '', 'name': 'js_wrap'}"}

发现问题:我的表单中没有字段,这就是为什么标题中没有任何内容

<form method="post" id="Form" action="" >
<input type="hidden" name="Form" value="" /> <!-- Try now! ;) --> 
<button type="submit" name="Form">Finish</button>
<!-- There are no fields here --> 
</form>

最佳答案

您可以使用 serialize() jQuery 方法。

看这里:

$.post('/your-url', $('form').serialize());

您也不应该使用 setInterval 每秒发送表单。使用 JavaScript 事件会更好。

在这种情况下,您可以在表单上使用 submit 事件,如下所示:

$('form').on('submit', function(e) {
});

要避免默认的浏览器行为(页面重定向),您可以在监听器回调中使用事件对象附带的 preventDefault() 方法。

$('form').on('submit', function(e) {
   e.preventDefault();
});

关于javascript - 在javascript中,如何处理表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48262352/

相关文章:

javascript - Redux Saga 观察者差异

javascript - RegExp 适用于 JS 和 PHP,但不适用于 Java

javascript - 为什么我的图片在 Github 页面上不起作用?

javascript - 在 HTML 的有序列表中为大数字添加逗号

jquery - Div 不会右对齐

jQuery UI 对话框顶部间距

php - 如何通过将一个表中的 ID 与另一个表匹配来选择和更新一个表中的记录?

php - WP Oembed 未传递 “autoplay=1” 变量

php - file_get_contents() 在 Linux 中不起作用

javascript - JS mouseenter 触发了两次