您的代码应该可以工作,我创建了一个示例供您测试,这里是:http: //jsfiddle.net/afzaal_ahmad_zeeshan/yFWzE/
<form id="form">
<input type="text" name="something" id="something" />
</form>
<a href="#" onclick="document.getElementById('form').submit();">Submit</a>
通过使用它,您将使用它的 id 提交表单。其他用户告诉您使用 jQuery,恐怕您不想这样做。在您使用的 jQuery中,.preventDefault
但如果您想坚持使用简单的 JS,那么您将使用href="#"
它将自动阻止任何锚标记的执行。
并且可以检查请求的结果,遗憾的是这是一个错误。但它确保请求已发送到服务器。
if else
然后,您可以通过将一些块设置为来测试方法和其他类型的执行
if(condition == true) {
// if post
} else {
// if get
}
该参数可能在服务器端处理不当,因为提交表单时,您需要从 QueryString 中取出数据(请求为 GET)。所以,你需要检查一下,或者如果这不是问题,那么确保你正确地指向了元素。否则,如果没有这样的元素,则不会发送任何内容。
我不确定您使用的是哪种语言,但这里是 ASP.NET 的代码
var value = Request.QueryString["something"];
上面已经存在 PHP 版本。这一切都取决于您随请求发送的参数。您更有可能将代码转换为函数。如
<a href="#" onclick="submit()">Submit</a>
和功能
function submit() {
// create variable
var value = document.getElementById("something").value;\
// now submit the form and all that other bla bla, which
// you want to be process,
}
如果您觉得这很棘手,请使用 jQuery
var values = $('form').serialize();
会很容易。这将创建一个表单字符串并将其与请求一起发送。