0

「null」値を送信する代わりに、確認ボックスのキャンセルボタンのように何もしないように、JavaScriptプロンプトボックスのキャンセルボタンを作成するにはどうすればよいですか?

または、プロンプト ボックスから [キャンセル] ボタンを削除して、[OK] ボタンだけを残すことはできますか?

これは私が試したものですが、それでもnull to valueがPHPファイルに送信されます。

 function AskQuestion(data)
{
   var id = getUrlVars()["id"];
   console.log(data);
   if(data.key[0].status == "ok") {
      var reply = prompt(data.key[0].REPLY, "");
      var index = data.key[0].IND;
      if(reply != "" && reply !== null) {
      //do nothing
      }else{
      jQuery.ajax({ type: "POST",
                    url: serviceURL + "message.php",
                    data: 'id='+id+'&arvo='+reply+'&index='+index,
                    cache: false,
                    success: AskQuestion});
                    }
   } else {
     window.location = "page.html"
   }
}
4

3 に答える 3

1

戻り値のテストが間違った方法で行われています。// do nothingユーザーがテキストを入力するときはあなたであり、入力ajaxしないときは電話をかけます。変化する

if(reply != "" && reply !== null) {
    // do nothing

if(reply == null || jQuery.trim(reply).length == 0) {
    // do nothing
于 2012-07-05T07:02:49.387 に答える
1

いくつかのアイデア:

reply = jQuery.trim( prompt(...) || "" );
if( reply ){
  jQuery.ajax(...)
}
于 2012-07-05T06:52:10.630 に答える
-1

関数を終了するために戻ることができます

于 2012-07-05T06:50:55.290 に答える