1

アンカーをクリックしてフォームを送信しようとしています。コードは次のとおりです。

function submitLink() {
    document.forms["background-form"].submit();
    return false;
}

このコードはFFとIEで機能しますが、Chromeでは機能しません。誰もが理由を知っていますか?私は次のように関数を呼び出しています:

<a href="<?php echo "background.php?cred=".$cred['id']; ?>" onclick="submitLink();">Remove</a>
4

2 に答える 2

2

デフォルトのアクションを防ぐには、onclick関数からfalseを返す必要があります。それ以外の場合は、リンクをたどるだけです。

このようにしてみてください

<a href="<?php echo "background.php?cred=".$cred['id']; ?>" onclick="return submitLink();">Remove</a>

また、リンクはアンカーリンクではないことに注意してください。アンカーリンクにはフラグメンテーション識別子が必要です。リンクは単なるリンクであり、クリックすると、ブラウザはhttp getリクエストを使用してリンクに移動し、現在のページをアンロードします。

ただし、jQueryを介してイベントハンドラーをバインドし、組み込みのpreventDefault機能を使用する方がはるかに優れています。

詳細はこちら

http://api.jquery.com/event.preventDefault/

于 2013-01-04T22:37:33.047 に答える
0

onClickイベントがGoogleChromeで機能しないことがわかった場合は、次の方法で修正できます。

フォームIDをその名前に置き換えますonclick。たとえば、次のようなものがあるとします。

<form id="form1" name="checkform1"

JSイベントの検索:

onclick="document.form1.cSSld.value=''"

と置換する:

onclick="document.checkform1.cSSld.value=''"

準備完了。すべてのWebブラウザで動作するようになりました。

于 2013-01-04T23:43:49.813 に答える