如何使用jquery更改表单的操作

时间:2013-08-27 20:54:19

标签: jquery

脚本:

$('#txt').click(function(){

         $('#formID').attr('action', 'https://www.google.se/');

});

这里的HTML:

<form method="post" name="myForm" action="http://www.youtube.com/" id="formID"  >

        <input type="button" id="txt" value="Submit" />

</form>

所以基本上我想要发生的是,当我按下提交按钮时,表单的操作将更改为谷歌和谷歌将打开。这根本不起作用,我不知道为什么。 :|

4 个答案:

答案 0 :(得分:2)

实际上并不是这些表单的设计目的,因此您必须覆盖表单中提交按钮的正常行为。

一种方法是通过jQuery(假设txt是提交按钮的 id ):

$('#txt').click(function(e) {
    e.preventDefault(); //prevent form from attempting to submit
    window.location.href = "http://google.com";
});

注意:已更新。在e.preventDefault()之后忘记函数()中的'e'和parens

答案 1 :(得分:2)

尝试:

$('#txt').click(function (e) {
    e.preventDefault();
    $('#formID').attr('action', 'https://www.google.se/').submit();
});

答案 2 :(得分:1)

这是对我有用的确切代码。将其复制/粘贴到新文档中并尝试一下。你可以看到我在哪里评论我自己的答案,试试j08691的答案(它也有效)。

告诉我们。

<html>
    <head>

        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

        <script type="text/javascript">

            $(document).ready(function() {

                $('#txt').click(function(e) {
                    e.preventDefault();
                    //window.location.href = "http://google.ca";
                    $('#test').attr('action', 'https://www.google.se/').submit();
                });
            }); //END $(document).ready()

        </script>
    </head>

<body>

    <form id="test">
        Fisrt: <input type="text" />
        Last : <input type="text" />
        <input id="txt" type="submit" value="Go" />
    </form>

</body>
</html>

答案 3 :(得分:0)

问题是你的按钮不是一个提交按钮,所以即使现在你的代码也不会做任何事情,除非你有一些其他的JavaScript或jQuery你没有向我们展示或你遗漏了你的提交按钮? / p>

无论如何,这是新的jQuery:

$(function() { //Run on page load
    $('#txt').click(function(e) {
        e.preventDefault(); //Prevent default action from happening
        $('#formID').attr('action', 'https://www.google.se/').submit(); //Change the form's action attribute
        $('#formID').submit(); //Submit the form
    });
});

这里的Html - 将type =“button”更改为type =“submit”并将method =“post”更改为method =“get”,因为谷歌不喜欢帖子:

<form method="get" name="myForm" action="http://www.youtube.com/" id="formID"  >
    <input type="submit" id="txt" value="Submit" />
</form>