0

フォーム送信ボタンがクリックされたときに呼び出され、検証を行う JavaScript 関数があります。すべてが問題ない場合は、ユーザーがフォームを送信したいことを確認するために、プレーンな JavaScript 確認ウィンドウが実行されます。ただし、jConfirm を使用して、"So and so page say: " ではなく、自分のニーズに合わせてタイトルを調整したいと考えています。

ここに私が持っているものがあります:

function validate(form) {
  var fieldcheck = true;

  if(!checkUSPhone (form.elements["phonenumber"],true))
    fieldcheck = false;
  if(!checkEmail (form.elements["emailaddress"],true))
    fieldcheck = false;

  if(fieldcheck) {
    jConfirm(("Submit Changes"), 'Are you sure?', function(fieldcheck) {
        if(fieldcheck)
        {
            alert("True");
            fieldcheck = true;
        }
        else
        {
            alert("False");
            fieldcheck = false;
        }
    });
  }

  return fieldcheck;
}

私はjQuery v1.7.2を使用しており、jquery.alert.js v1.0.3とjquery.alert.cssファイルがページにリンクされています。

ただし、ユーザーがフォームを送信すると、ボックスは表示されず、ページが送信されます。ここで他の例を見てきましたが、私の構文は正しいと言われているものと一致しています。

私は何が欠けていますか?

4

1 に答える 1

0

epascarello が示唆しているように、コードにいくつかの変更を加えるだけで済みます。

function validate(form) {
  var fieldcheck = true;

  if(!checkUSPhone (form.elements["phonenumber"],true))
    fieldcheck = false;
  if(!checkEmail (form.elements["emailaddress"],true))
    fieldcheck = false;

  if(fieldcheck) {
    jConfirm(("Submit Changes"), 'Are you sure?', function(fieldcheck) {
        if(fieldcheck)
        {
            alert("True");
            form.submit();// The user has confirmed, we proceed to submit.
        }
        else
        {
            alert("False");
            fieldcheck = false;
        }
    });
  }

  return false;// Prevent submit. We'll submit the form after the user has confirmed through jConfirm.
}
于 2014-09-26T20:21:43.513 に答える