7

onclickイベントの変数を Javascript 関数に渡そうとしています。次の方法を試していますが、Javascript 関数で入力値を取得できません。(私は 1 のアラートを期待しています。) これは正しい方法ですか? 助けてください。

<html>

    <head>
        <script>
            function submit_value(form) {
                alert(form.ip.value);
            }
        </script>
    </head>
    <table>
        <tr>
            <form>
                <td>
                    <input id="ip" type="text" value="1">
                </td>
                <td>
                    <a href="javascript:;" onClick="submit_value(this)">Button</a>
                </td>
            </form>
        </tr>
    </table>

</html>
4

5 に答える 5

5

あなたのスクリプトは何が何であるかを知りませんformdocument.forms[0].ip.value代わりに指定する必要があります。

ドキュメントに複数のフォームがある場合は、最初にフォーム要素を変数に保存するとよいでしょう。そのためのフォームにIDを付けることができます...

<form id="formID">

そしてsubmit_value関数で持つことができます

var myForm = document.getElementById('formID'); alert(myForm.ip.value);

編集:

this.formアンカータグの onClick に使用できます。

于 2012-12-18T04:50:12.057 に答える
0

関数を次のように変更します。

    function submit_value(form) {
        alert(document.getElementById('ip').value);
    }

と書くsubmit_value(this)と、 の値thisは実際には<a>フォームではなく要素そのものです。

于 2012-12-18T04:54:52.640 に答える
0

jqueryが使えると思います。セレクターはそれで非常に単純です。

以下のフォーム html を次のように変更します。

<form>
        <td>
            <input id="ip" type="text" value="1">
        </td>
        <td>
            <a href="javascript:;" onClick="submit_value(this)">Button</a>
        </td>
 </form>

 <form>
        <td>
            <input id="ip" type="text" value="1">
        </td>
        <td>
          <a href="" class="mySubmitButton">Button</a>
        </td>
 </form>

そして、あなたのJSは次のようになります

$('.mySubmitButton').click(function() {

  var inputBox = $(this).prev(); 
  alert(inputBox.val());
  return false; //This prevents the default function submit . Similar to event.preventDefault
});
于 2012-12-18T05:48:49.020 に答える