1

プロンプト ボックスを使用していますが、プロンプト ボックスのテキスト ボックスにデータを入力せずにキャンセルを押すと、プロンプト ボックスの後のロジックが実行されません。[OK] を押すと、そのコードが実行されます。データを入力して [OK] を押した後に発生するので、promtbox で [キャンセル] を押してもコードを実行するにはどうすればよいですか?

var textentered=prompt("Enter text/int:","");
if(textentered.length > 0){

    alert(textentered);
}

// this is just example code below the promptbox which is not executed after i press //cancel in prompt box
text=[];
array=[];
document.getElementById('test').innerHTML='';
4

1 に答える 1

1

promptがいつキャンセルされた場合の問題textenteredは、 null.
したがって、if(textentered.length > 0)失敗します。

textenteredの場合は、コードを変更して異なる動作をさせる必要がありnullます。
以下の例のように。

var textentered = prompt("Enter text/int:", "");
if (textentered) { //pressed ok OR if text is not empty
    alert(textentered);
} else { //pressed cancel
    textentered = ""; //is null. change to empty string
}
//at this point, non-empty text means that user pressed the ok button
于 2012-10-12T19:30:22.333 に答える