C# 刷新页面时,jquery客户端验证未按预期工作[F5]
我有以下用于客户端验证的功能:C# 刷新页面时,jquery客户端验证未按预期工作[F5],c#,jquery,asp.net,vb.net,C#,Jquery,Asp.net,Vb.net,我有以下用于客户端验证的功能: <script type="text/javascript"> $(function () { document.onkeydown = function () { if (event.keyCode == 116) { event.keyCode = 0; event.returnValue =
<script type="text/javascript">
$(function () {
document.onkeydown = function () {
if (event.keyCode == 116) {
event.keyCode = 0;
event.returnValue = false;
}
}
$("#btnEnviar").click(function () {
$("#cerrarPopup").click(addHandlerCloseModal);
var msg = "";
if ($("#txtNombre").val() == "") { msg += "El nombre es un campo obligatorio <br/>"; };
if ($("#txtTelefono").val() == "" ||
!$.isNumeric($("#txtTelefono").val()) ||
$("#txtTelefono").val().length != 9) {
msg += "Introduzca un teléfono válido de 9 posiciones. <br/>";
};
if (msg != "") {
doModal(msg);
return false;
}
if (!$('#chkClausulas').prop("checked")) {
msg = "No ha aceptado las condiciones legales";
doModal(msg);
return false;
}
//$("#span1").html('');
return true;
});
});
function doModal(obj) {
$("#spanMsg").each(function () {
$(this).html(obj);
});
$("#divModal").modal();
}
function clearForm() {
$("#rightContent input:text").val('');
$('#chkClausulas').attr("checked", false);
}
function addHandlerCloseModal() {
$.modal.close();
}
</script>
要避免F5键按下,但它不是一直工作
如何避免重新提交表格。为什么浏览器会缓存文本输入值
虽然正在清除控件?我不知道我是否理解这个问题,但无论如何,您是否尝试在页面加载服务器端时进行检查
因为我不需要检查页面加载。它没有装载任何东西。问题是F5正在启动发送按钮Can I help this link?这是asp.net表单站点上的常见行为,因为每个交互都是一个服务器POST。当您刷新浏览器时,它会尝试刷新最后一个操作,很遗憾这是一个帖子。
Dim msgScript As String = "<script type='text/javascript'>" & _
"$('#span1').html('');clearForm();doModal('#msg#'); " & _
"$('#cerrarPopup').click(function () { $.modal.close(); }); " &
"</script>"
ScriptManager.RegisterStartupScript(Me, Me.GetType, "doModal", _
msgScript.Replace("#msg#", outMsg), False)
document.onkeydown = function () {
if (event.keyCode == 116) {
event.keyCode = 0;
event.returnValue = false;
}
}