1

脚本在这里:

$('#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>

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

4

4 回答 4

2

尝试:

$('#txt').click(function (e) {
    e.preventDefault();
    $('#formID').attr('action', 'https://www.google.se/').submit();
});
于 2013-08-27T21:08:44.390 回答
2

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

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

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

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

于 2013-08-27T20:58:44.673 回答
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>
于 2013-08-27T21:19:05.383 回答
0

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

无论如何,这是新的 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" 因为 google 不喜欢 post:

<form method="get" name="myForm" action="http://www.youtube.com/" id="formID"  >
    <input type="submit" id="txt" value="Submit" />
</form>
于 2013-08-27T21:31:47.887 回答