0

在我的 Web 应用程序中,在登录页面中,我有一个复选框。输入用户名/密码后,如果用户没有勾选复选框(T&C),他不应该被带到主页,并且会显示警告错误消息。

我已经尝试了以下代码。但它不起作用。即,显示警告消息。但是用户被带到下一页(主页)。我尝试返回 false,但没有运气。

谁能告诉如何解决这个问题?

function doSubmit() {
    var checkbox = document.getElementById("terms");
    if (!checkbox.checked) {
        alert("error message here!");
        return;
    }
    document.getElementById("f").submit();
}​  

我正在调用 doSubmit 从

<input id="proceed" onclick="doSubmit()" type="submit" value="${fn:escapeXml(submit_label)}" />
4

3 回答 3

2

不要onclick在输入中使用,而是尝试在表单标签中使用以下内容:

onsubmit="return doSubmit()"

js的功能如下:

function doSubmit() {
    var checkbox = document.getElementById("terms");
    if (!checkbox.checked) {
        alert("error message here!");
        return false;
    } 
}
于 2012-07-26T07:37:56.577 回答
1

尝试将输入类型更改为button而不是submit,将提交操作委托给 JS 函数:

<input id="proceed" onclick="doSubmit()" type="button" value="${fn:escapeXml(submit_label)}" />
于 2012-07-26T09:29:46.103 回答
0

在提交表单之前,您应该检查checkbox的状态,如果未检查,请阻止提交。在 jQuery 中,以下代码可以解决问题。

$(form).submit(function(e){
    if($(this).find("#terms").is('checked')){
        e.preventDefault();
        alert('error messge goes here');
    }
}
于 2012-07-26T07:02:48.087 回答