以下に、送信ボタンと、送信ボタンがクリックされたときに実行されるjquery関数があります。
<p><input id="submitBtn" name="submitDetails" type="submit" value="Submit Details" onClick="return myClickHandler();" /></p>
<script type="text/javascript">
function myClickHandler()
{
if (validation())
{
showConfirm();
return true;
}
return false;
}
</script>
validation() 関数が満たされているかどうかがわかるように、showConfirm() 関数が実行され、この関数は以下の確認ボックスを実行します。
function showConfirm()
{
var confirmMsg=confirm("Make sure that your details are correct, once you proceed after this stage you would not be able to go back and change any details towards Questions, Options and Answers for your Assessment." + "\n" + "\n" + "Are you sure you want to Proceed?" + "\n" );
if (confirmMsg == true)
{
submitform();
return true;
}
else
{
return false;
}
}
function submitform()
{
var fieldvalue = $("#QandA").val();
$.post("insertQuestion.php", $("#QandA").serialize(), function(data)
{
var QandAO = document.getElementById("QandA");
QandAO.submit();
});
alert("Your Details for this Assessment has been submitted");
}
私の質問はこれです。ユーザーが確認ボックスで [OK] をクリックすると、問題のないページが送信されます。ただし、ユーザーが [キャンセル] をクリックした場合、ページは送信されません。問題は、[キャンセル] ボタンをクリックしたにもかかわらず、ページを送信していることです。どうしてこれなの?
アップデート:
以下のコードを試しましたが、まだうまくいきません:
function myClickHandler()
{
if(validation())
{
return showConfirm();
}
return false;
}