0

ポップアップボタンをクリックした後、Webページにテキストを表示したいと思います。しかし、うまくいかない、何か提案はありますか?

私は JavaScript の専門家ではありませんが、学んでいます。

<html>
<head>
    <script type="text/javascript">
        var showMessage = "";
        window.onload = function(){
            if (confirm("Your Details have been Saved.")) {
                showMessage = "Please wait .. going to viewProfile";
                window.location.assign("viewProfile.php");
            } else {
                showMessage = "Please wait ..";    
                window.location.assign("editProfile.php");
            }
        }
    </script>
    </head>
    <body id="save-profile-page">
        <script type="text/javascript">    
            document.writeln(showMessage);
        </script>
    </body>
    </html>

何らかの理由でメッセージが表示されません。助けてください。

4

2 に答える 2

1

変数showMessageは、javascript関数が実行されるまで、つまりドキュメントがすでにロードされた後まで空です。HTML代わりに、関数を作成して、の代わりにそれを呼び出します

function callConfirm(){
    if(confirm("...?")){
        document.writeln("Message1…");
    }
    else{
        document.writeln("Message2…");
    }
}

あなたの中でそれを呼んでくださいHTML

<script>
    callConfirm();
</script>
于 2013-01-20T19:38:37.523 に答える
0

@mavili が言うように、showMessage を印刷しようとすると、まだ定義されていません。ただし、このコードにはさらに深刻な論理的問題があります。変数 showMessage は、リダイレクトと同じスコープで割り当てられます。リダイレクト呼び出しに達するとすぐに新しいページが読み込まれるため、コードを再配置してもメッセージが表示される可能性はありません。

于 2013-01-20T21:10:01.597 に答える