单击链接使用POST提交表单

时间:2014-12-15 21:45:24

标签: javascript jquery forms

我尝试通过点击链接并发送一些隐藏的值来使用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;
&#13;
&#13;

我想通过点击提交链接提交表单,但是它无法正常工作。但是,在浏览器中不会打开testForm2.php,方法是使用&#39; Inspect Element&#39;浏览器中的选项,我可以看到testForm2.php页面是请求的,但没有打开:

Screenshot

您可以看到隐藏字段是通过表单提交发送的,但目标页面未被打开。

如何在提交表单后在浏览器上打开新页面(testForm2.php)?

提前致谢。

2 个答案:

答案 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();
    });
});