gpt4 book ai didi

grails - 验证 grails submitButton

转载 作者:行者123 更新时间:2023-12-04 22:49:31 26 4
gpt4 key购买 nike

是否可以使用 javascript 创建验证以在 grails 的 onCLick 属性上实现 <g:submitButton>标签?我正在使用 webflow 从一个页面进行到另一个页面。这是我的“下一步”按钮代码:

 <g:submitButton class="btn btn-primary" name="next" value="Next" onclick="return isfilipinoCitizen()"></g:submitButton>  

isfilipinoCitizen 函数可以在我的 javascript 代码中找到:
                <script type="text/Javascript">                      
function isfilipinoCitizen() {
var selected = "${accountInfo?.filipinoCitizen}";
if(selected == "1"){
return true;
}else{
alert(selected)
alert("You must be a Filipino citizen to register!")
document.location.href = "myhomepage";
}
}
</script>

我这里想要做的是,如果用户的输入为0,则阻止页面继续到下一页,并将用户重定向到系统的主页。但它似乎根本不起作用。

非常感谢你们的任何帮助。

谢谢!

最佳答案

首先,我认为你应该使用 Firebug检查实际呈现为 html 的内容。它还有助于发现一些 javascript 错误或无法加载资源。

其次,您应该首先检查 javascript 是否被调用,方法是放置一个 alert('come here');就在 isfilipinoCitizen() 的开头。之后,在第一种情况下发出警报。 Javascript 是一种特殊的语言,我们在处理它时必须小心:):

                <script type="text/Javascript">                      
function isfilipinoCitizen() {
alert("come here");
var selected = "${accountInfo?.filipinoCitizen}";
if(selected == "1"){
alert("come there");
return true;
}else{
alert(selected)
alert("You must be a Filipino citizen to register!")
document.location.href = "myhomepage";
}
}
</script>

最后(在你保证你的 javascript 函数被正确调用之后),你必须做的不仅仅是“document.location.href”来防止表单提交。为了快速见效,我推荐 jQueryonSubmit() event .如果你喜欢纯javascript解决方案,你可以按照Galm和Anuj提出的解决方案:将onsubmit放入标签:
<g:form name="myForm" action="myaction" onsubmit="return isfilipinoCitizen()">...</g:form>

在失败的情况下,请记住返回 false :)

P/s:插入 ${accountInfo?.filipinoCitizen}直接到 javascript 可能有效,但这不是最佳实践。将“isFilipinoCitizen”作为参数传递给javascript函数会更好。

另一个可用性思想 : 如果你已经知道哪个用户有权注册,我们为什么要等到用户填写所有表格,告诉他们他们必须是菲律宾公民才能注册?为什么在页面加载之前(页面加载之后)没有通知用户?

关于grails - 验证 grails submitButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10907240/

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