0

onChange()で使用したいのですselectが、このコマンドのすべてが機能しません:

HTML

<form method="post" name='testBank' id="testBank" enctype="multipart/form-data">
<select name="major_id" id='major_id' onchange="this.submit();">
        <option value="">---</option>
        <?
        $query = mysql_query("select * from at_majors where view='1'");
        while($row=mysql_fetch_assoc($query)){
            ?><option value="<? echo $row['major_id']?>" > TEST </option><?
            }
        ?>
    </select>
    </form>

コマンド

onchange="this.submit()"
onchange="testBank.submit();"
onchange="this.testBank.submit()"
onchange="submit()"
onchange="document.all.submit()"
onchange="document.testBank.submit();"

このエラーが発生します:

this.submit is not a function

重要

このメソッドにjqueryやjavascriptを使用するのは好きではありません。この問題を修復するのを手伝ってください。ありがとう

4

5 に答える 5

2

selectこれは、フォームではなくタグを送信しようとしているためです。

<form method="post" name='testBank' id="testBank" enctype="multipart/form-data">
<select name="major_id" id='major_id' onchange="document.getElementById('testBank').submit();">

これは機能するはずです。

編集

これも機能するはずです:

<select name="major_id" id='major_id' onchange="this.form.submit();">
于 2013-01-31T09:23:19.603 に答える
1

これを試して

<select name="major_id" id='major_id' onchange=this.form.submit();">
于 2013-01-31T09:24:44.727 に答える
1

これがあなたのフォームです(デモのために少し簡略化されています):

<form name='testBank'>
<select name="major_id" onchange="submitTestBank();">
        <option value="">---</option>
        <option value="a">a</option>
        <option value="b">b</option>
</select>
</form>

そして、最も単純なJavaScript(フォームをその名前で参照):

function submitTestBank() {
    document.forms.testBank.submit();
}

もちろん、属性にdocument.forms.testBank.submit();直接追加することもできます。onchangeただし、のような別の機能を持つsubmitTestBank方が再利用可能です。select複数の要素または要素に送信ハンドラーをアタッチする場合に役立ちますinput

実際の動作をご覧ください。

于 2013-01-31T09:31:20.577 に答える
1

送信入力要素の名前が「送信」の場合、フォームは送信されません。したがって、送信を削除してください。

これを避けてください

<input type="submit" name="submit" value="submit">

これを使って

<input type="submit" name="xxx" value="xxx">
于 2014-08-06T15:53:43.990 に答える
0

jQueryを使用したくない場合は、次のことを試してください。

<select name="major_id" id='major_id' onchange="doSomething(this)">

select要素の前にJavaScriptを定義するためにsurを作成します。

function doSomething(sel) {
    alert(sel.options[sel.selectedIndex].value);
}
于 2013-01-31T09:24:09.980 に答える