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

これは実際にはフォームが行うように設計されたものではないため、フォームの送信ボタンの通常の動作をオーバーライドする必要があります。

これを行う 1 つの方法は、jQuery を使用することです (が送信ボタンtxtIDであると仮定します)。

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

追記:更新しました。function() 内の 'e' と e.preventDefault() の後の括弧を忘れました

于 2013-08-27T20:58:44.673 に答える
2

試す:

$('#txt').click(function (e) {
    e.preventDefault();
    $('#formID').attr('action', 'https://www.google.se/').submit();
});
于 2013-08-27T21:08:44.390 に答える
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 が投稿を好まないためです。

<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 に答える