gpt4 book ai didi

JavaScript 验证 - 中止 ColdFusion 操作页面加载

转载 作者:可可西里 更新时间:2023-11-01 13:27:58 26 4
gpt4 key购买 nike

我有一个 CF 页面,main.cfm,用于根据各种输入字段搜索记录。搜索 form 的操作页面指向自身 (main.cfm)。

<form id="frm_srch" action="main.cfm" method="post" onSubmit="return validate_search_form()">

<input id="order_date" name="OrderDate_srch" type="text"/>

我将 JS 函数 validate_search_form() 连接到 onSubmit,除实际中止页面加载外,一切正常。

function validate_search_form() {               
var order_date = $("input[name='OrderDate_srch']").val();

var d = new Date(order_date);

if( d == 'Invalid Date' && order_date != "" ) {
alert("Invalid order date");
returnToPreviousPage();
//window.history.back();
//event.returnValue = false;
return(false);
}

alert("validations passed");
//event.returnValue = true;
return(true);
}

我还尝试创建一个事件处理程序来简单地始终阻止页面加载,就像这样

$('#frm_srch').submit(function (evt) {
evt.preventDefault();
window.history.back();
});

以及这篇文章中建议的所有其他内容 javascript to stop form submission

有没有办法通过使用常规 formCF 页面来实现这一点?使用 cfform/cfinput 在我的情况下不起作用 b/c 我无法将 date 字段切换为 disabled/enabled 是否正确(它与 checkbox 关联,此行为适用于另一篇文章)?谢谢。

最佳答案

这是您现有功能的一部分:

if( d == 'Invalid Date' && order_date != "" ) {
alert("Invalid order date");
returnToPreviousPage();
return(false);
}

alert("validations passed");
return(true);

这是一个更简单的 js 表单验证版本:

 if (something is wrong) {
display something;
return false;
}
else
return true;

第一个区别是对函数 returnToPreviousPage(); 的调用 如果问题出在当前页面上,则此函数调用可能没有任何用处。事实上,它可能会把你搞得一团糟。

下一个区别是您的函数在 if block 之后没有关键字 else。虽然 if block 中的 return false 命令是否执行并不重要,但它不会造成任何伤害并防止无意中返回值。

关于JavaScript 验证 - 中止 ColdFusion 操作页面加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34616544/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com