19

問題なくjquery 1.6を使用しています。今日、私はjquery 1.8に切り替えましたが、フォームを送信しようとすると突然このエラーが発生しました:

TypeError: e[h] is not a function.

形:

<form method="post" action="login?login" name="login" id="login">
<input class="input" type="text" name="user_mail" id="user_mail" autocomplete="on" />
<input class="input" type="password" name="password" id="password" autocomplete="off" />
<a class="green_button" href="javascript:void(0)" id="login_button">Login</a>
<input type="submit" name="login" id="submit" style="visibility:hidden" />
</form>
<script language="javascript">
$("#login_button").click(function(){
    $("#login").submit();   
});
</script>

何か不足していますか?

ありがとう!

4

6 に答える 6

32

下の行を削除します。

<input type="submit" name="login" id="submit" style="visibility:hidden" />

アップデート:

または、送信入力を使用する必要がある場合は、IDsubmitを別のものに変更する必要があります。その理由は、入力要素がidof の場合、HTMLInputElement を使用してフォームにプロパティをsubmit設定するためです。そのため、HTMLFormElementsubmitでメソッドを呼び出すことができませんでした。.submit

于 2012-08-16T02:24:51.713 に答える
6

同じ問題を修正しようとして3時間も無駄になりました。送信ボタンにname='submit'を使用し、$( "#form_name")。submit();を呼び出していました。関数内でエラーが発生していました。私が見落としている小さなことは、多くの時間を無駄にしてしまうことがあります。

于 2012-10-15T07:29:30.093 に答える
3

ラインだからだと思う

<input type="submit" name="login" id="submit" style="visibility:hidden" />

削除して再試行できますか?

于 2012-08-16T02:48:36.050 に答える
1

フォームで送信タイプの要素を使用すると、この要素はフォームの送信プロパティとして設定されます。そのため、フォームの他の要素で submit() 関数を呼び出すことはできませんでした。

これには 2 つの方法があります。最初のものは、最初の返信で指定された行を削除するだけです。

または$("#submit").trigger("click"); を使用します。$("#login").submit(); の代わりに . また、 Enterキーを押すとフォームが送信されます。

于 2012-12-27T05:59:57.170 に答える
0

あなたのforminputは、同じ name 属性値を持っていますlogin

の を のように別のものに変更しnameます。これでエラーが解消されます。inputsubmit

于 2012-08-16T02:28:27.077 に答える
0

jQuery 1.7(おそらく上記も)では、nameプロパティも呼び出されsubmitていると壊れます。

例えば

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

ただし、動作しません:

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

結構です。

于 2017-03-14T14:08:00.387 に答える