我尝试通过点击链接并发送一些隐藏的值来使用POST提交表单。
我使用的代码是:
$( document ).ready(function() {
$('a#campoA').click(function() {
$.post('testForm2.php', { campoA: 'Submit' });
});
});

<form action='testForm2.php' method='post' id='testForm'>
<input type='hidden' name='campoPrueba' value='prueba'>
<a href='#' id='campoA'>Submit</a>
<input type='submit' value='submit' name='submit'>
</form>
&#13;
我想通过点击提交链接提交表单,但是它无法正常工作。但是,在浏览器中不会打开testForm2.php,方法是使用&#39; Inspect Element&#39;浏览器中的选项,我可以看到testForm2.php页面是请求的,但没有打开:
您可以看到隐藏字段是通过表单提交发送的,但目标页面未被打开。
如何在提交表单后在浏览器上打开新页面(testForm2.php)?
提前致谢。
答案 0 :(得分:2)
我不确定这是什么意思,因为提交按钮和链接基本上是其余部分,您可以将任何按钮看作链接通过CSS。无论如何......
这不会更简单吗?
$('a#campoA').click(function(e) {
e.preventDefault();
$("#testform").submit();
});
只是阻止点击按钮的默认行为,然后提交表单。
再次,如果我是你,我会让提交按钮看起来像一个链接:
input[type=submit]{
background: none;
border: 0;
text-decoration: underline;
}
答案 1 :(得分:0)
Ajax不会打开您要求的网址,它只会从中检索数据。如果您想查看提交后的数据,请执行以下操作:
$( document ).ready(function() {
$('a#campoA').click(function() {
$.post('testForm2.php', { campoA: 'Submit' },function(data) {
$("#result").html(data);
});
});
});
这将显示在div上使用id&#34;结果&#34;从testForm2.php返回的内容。
<div id="result"></div>
如果您想像普通提交按钮一样提交,请使用:
$( document ).ready(function() {
$('a#campoA').click(function(e) {
$("#testForm").submit();
e.preventDefault();
});
});