【发布时间】:2016-05-05 15:03:38
【问题描述】:
我正在寻找一种方法,以便我的FormMethod.Post 在完成 jquery 验证之前不提交。我已经尝试过使按钮位于disabled,然后在keydown 上删除禁用,如果表单没问题的话。但这不起作用,也不安全。我能做什么?
HTML
@using (Html.BeginForm("_Kontakt", "Home", FormMethod.Post))
{
<div class="row">
<div class="col-sm-6">
<div class="col-sm-12">
<b>Facebook Url</b>
<input id="FacebookUrl" name="FacebookUrl" type="text" class="form-control" />
</div>
<div class="col-sm-12">
<b>Steam Url</b>
<input id="SteamUrl" name="SteamUrl" type="text" class="form-control" />
</div>
<div class="col-sm-12">
<button id="SendBtn" class="btn btn-success pull-right" onclick="return validateUrl();">Send</button>
</div>
</div>
</div>
}
Jquery/Javascript
function validateUrl() {
facebookURL = $("#FacebookUrl").val();
steamURL = $("#SteamUrl").val();
var facebook = /^(?:(?:http|https):\/\/)?(?:www.)?facebook.com\/(?:(?:\w)*#!\/)?(?:pages\/)?(?:[?\w\-]*\/)?(?:profile.php\?id=(?=\d.*))?([\w\-]*)?$/;
var steam = /(?:https?:\/\/)?steamcommunity\.com\/(?:profiles|id)\/[a-zA-Z0-9]+/;
if (facebook.test(facebookURL)) {
}
else {
alert("Ikke et facebook gyldigt url!");
}
if (steam.test(steamURL)) {
}
else {
alert("Ikke et steam gyldigt url!");
}
return facebook.test(facebookURL);
return steam.test(steamURL);
}
回答
return facebook.test(facebookURL) && steam.test(steamURL);
【问题讨论】:
-
return 可以在函数中调用一次。之后函数执行结束。你的意思是:return facebook.test(facebookURL) && steam.test(steamURL);
-
非常感谢@Striker 帮助!
标签: javascript jquery asp.net-mvc forms post