我的目的是将表单中的数据提交到服务器,而不是重新加载页面。它甚至不需要显示更新的数据。我正在使用Firefox开发,我正在寻找两条路径来获得我想要的东西:
在我看来,应该有一种方法让javascript函数告诉表单使用它自己的设备提交,然后准备好处理响应。作为新人,我不熟悉这个要求的“最佳实践”。
答案 0 :(得分:1)
您可以使用<button>
发布您的详细信息。
function ajaxPage(postPage, paramList) {
xmlhttp.open("POST",postPage,false);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send(paramList);
return xmlhttp.responseText;
}
在这种情况下,您的postPage
是一段相关代码的地址,paramList
是&
分隔名称值对的列表。
亲切的问候, 西部高地白梗
答案 1 :(得分:0)
您可以在表单中添加“onsubmit”功能。
在该函数中返回false或调用event.preventDefault()非常重要,以防止浏览器发布表单。
HTML:
<form onsubmit="javascript:myFunction()">
...
</form>
脚本:
function myFunction(evt) {
// do your ajax call...
evt.preventDefault();
}
答案 2 :(得分:0)
不需要“提交”,您可以使用ajax搜索自动完成建议实现:
Onfocus On ..即使你将所有表单数据发送到服务器端,你想要自动完成服务器端响应而不是pus,你可以为用户解释你需要的。
This链接可能对您有所帮助。
答案 3 :(得分:0)
这就是我已经结束的内容,如原始问题中所述,继续使用第2号路径,调用脚本的按钮位于表单之外,因此没有提交事件。表格中的数据由脚本收集,如相关问题的答案所述:
https://stackoverflow.com/a/589100/747544
从那里,“get”请求由脚本
制定XMLHttpRequest.open("GET", "/myCommand?"+queryString ,true);
XMLHttpRequest.send(null);
脚本实际上“扫描”了表单,而没有提交过,因此没有必要阻止onSubmit事件返回false的默认行为。或者preventDefault()。