0

フォーム データを送信しようとしていますが、標準の [送信] ボタンを使用する代わりに、通常の HTML リンクを使用したいと考えています。ただし、このリンクをクリックすると、ユーザーに続行またはキャンセルを求める確認ボックスが必要です。私はパズルの両方の部分を持っていますが、それらを組み合わせると上手くいきません。これは私が現在Javascriptコードのために持っているものです:

function confirmSubmit()
{
var agree=confirm("Are you sure you wish to delete this file?");
if (agree)
    return true ;
else
    return false ;
}
function submitform() {
    document.forms["delete14"].submit();
}

そして、私が持っているHTMLについて:

<a href="javascript:submitform()" onClick="javascript:confirmSubmit()">link text</a>

意図したとおりに確認ボックスがポップアップし、フォームが適切に送信されます。ただし、現在、ユーザーが確認ボックスで「いいえ」をクリックしても、フォームは送信されます。

4

2 に答える 2

1

まず、リンクが必要ない場合はリンクを使用しないでください。「クリックしてください」というリンクではなく、スタイル付きのスパン (または、ユーザーに「クリックすると何かが起こる」というボタン) を使用してください。別のページに移動します」)。

また、スクリプトである値を期待する属性で「javascript:」を使用しないでください。これは、役に立たないラベルと見なされます。

とにかく、あなたの問題は、リンクに 2 つのリスナーがあることです。

<a href="javascript:submitform()" onClick="javascript:confirmSubmit()">link text</a>

href のものは無条件にフォームを送信します。したがって、スパンを使用して、href を取り除きます。

<span style="cursor: pointer; text-decoration: underline"
   onclick="confirmSubmit()">link text</span>
于 2013-06-06T23:26:27.253 に答える
1

これを試して:-

function confirmSubmit()
{
var agree=confirm("Are you sure you wish to delete this file?");
if (agree)
    document.forms["delete14"].submit();
else
    return false ;
}
于 2013-06-06T23:10:01.657 に答える