1

我有一个看起来像这样的文本框

<%= Html.TextBoxFor(model => model.ContactAddress, new { autocomplete = "off", maxlength = "75" })%>

在我的 javascript 我有这个

   $('.save_button_cont').click(function (e) {


        var addr1 = $('#ContactAddress').val();

        if(addr1.indexOf("box") > -1) {
            alert("HEY NO P.O. BOXES ALLOWED ");
        }

            document.forms[0].submit();
        });

如果用户在文本框中有“框”,我希望这会在发布之前弹出警报。但它不起作用。

如果用户在其地址(文本框)中输入字符串“框”,我想显示警报。

编辑:在提交时,我将使用确认框来验证用户是否要继续。谢谢您的帮助

4

5 回答 5

1

尝试这个 -

$('.save_button_cont').click(function (e) {
      var addr1 = $('#ContactAddress').val();
            if(addr1.indexOf("box") > -1) {
                alert("blah");
            }else {
                alert('Bleh');
            }
            alert("TEST");

            $('form').eq(0).submit();
        });
于 2013-05-07T14:22:38.653 回答
1

你可以这样做:

$('.save_button_cont').click(function (e) {
    var addr1 = $('#ContactAddress').val();
    if (addr1.indexOf("box") > -1) alert("blah");
    else alert('Bleh');
    $('#formID').submit();
});
于 2013-05-07T14:24:18.827 回答
1

代替:

if(~addr1.indexOf("box")) {...} else {...}

尝试

if(addr1 === "box") {...} else {...}
于 2013-05-07T14:27:34.940 回答
1

您可以使用正则表达式来测试字符串是否出现“框”。这将允许您进行不区分大小写的搜索:

$('input[type="submit"]').click(function(e) {
    e.preventDefault();
    var input = $('#test').val();
    if (/box/i.test(input)) {
        alert("bad");
    } else {
        alert("good");
        $("form").submit();
    }
});

您还应该将“提交”功能放在“其他”语句中,以便表单仅在验证成功时提交。

注意:如果用户碰巧住在“盒子街”上,这可能会导致不必要的问题。

于 2013-05-07T14:40:24.120 回答
1

使用

$("#textboxid").blur(function(){
if( $("#textboxid").val() == "box"){
alert("box typed!");
}
});

这将使您的生活变得轻松!

于 2013-05-07T14:44:01.840 回答