0

HTML ページを動的に出力する Perl スクリプトを作成しています。

このページでは、ユーザーはフォームのラジオ ボタンをクリックして、4 つのタスクのいずれかを選択できます。

ユーザーがタスク「サインアップ シートをクリアする」のラジオ ボタンをクリックすると、ユーザーに警告を表示することになっています。ユーザーが [OK] をクリックすると、フォームが送信されます。ユーザーがキャンセルをクリックしても、何も起こりません。

私は JavaScript を初めて使用するので、先生からの 2 つの例のコードを基にしました。1 つはボタンで onClick を実行する確認メソッド、もう 1 つはフォームで onSubmit を実行するアラート メソッドです。

しかし、どうやら機能していないため、自分が何をしているのか理解できません。ダイアログボックスもポップアップしません。

私がする必要があることをどのようにしますか?

私のコードの関連部分 (Perl の print ステートメントを除く) は、現在次のようになっています。

<script type="text/javascript">
function confirmation( ) {
    if (maint.mainttask.value == "clearsheet") {
        var answer = confirm('Are you sure you want to clear all entries?');
        if (answer==true){
            return(true);
        } else {
            return(false);
        }
    }
    return(true);
}
</script>
<form method='post' action='path removed' name=maint ONSUBMIT="return confirmation( )">
<table>
<tr><td><input type=radio name='mainttask' checked value='clearsheet'></td><td>Clear the signup sheet</td></tr>
4

2 に答える 2

0
<script type="text/javascript">
function confirmation( )
{
    if (maint.mainttask.value == "clearsheet")
    {
        var answer = confirm('Are you sure you want to clear all entries?');
        if (answer){
            return true;
        }
        else{
            return false;
        }
    }
    return true;
}
</script>
<form method='post' action='#' name='maint' ONSUBMIT="return confirmation( )">
<table>
<tr><td><input type=radio name='mainttask' checked value='clearsheet'></td><td>Clear the signup sheet</td></tr>

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

</form>

この編集されたコードを試してみてください。うまくいくことを願っています。確認ボックスが表示されます。

于 2013-03-06T06:22:55.197 に答える
0

私は常に、送信ボタンと onsubmit イベントに依存するよりも、標準のボタンを使用して検証関数内から submit() メソッドを呼び出すことを好みます。他の人は同意しないかもしれませんが、私の見解では、あなたはそのように物事をよりコントロールできます. 次のことを試してください...

<html>
<head></head>
<body>
<script type="text/javascript">
function confirmation() {
    if (maint.mainttask.value == "clearsheet") {
        var answer = confirm('Are you sure you want to clear all entries?');
        if (answer==true){
            document.forms["maint"].submit();
            }
        }
    }
</script>
<form method='post' action='path removed' name='maint'>
<table>
<tr><td><input type='radio' name='mainttask' checked value='clearsheet'></td><td>Clear the signup sheet<br />
<input type="button" onClick="confirmation()" value="Click me..."/></td></tr>
</table>
</form>
</body>

于 2013-03-06T07:42:49.590 に答える