Javascript “为什么?”;e、 preventDefault();及;返回false";禁用post?
我今天遇到了一个问题。我已经解决了。我用启发式的方法解决了这个问题,但我希望得到科学的解释(我们不应该是程序员,也不应该是科学的人:) 以下是我的MVC项目的初始视图代码:Javascript “为什么?”;e、 preventDefault();及;返回false";禁用post?,javascript,asp.net-mvc,post,Javascript,Asp.net Mvc,Post,我今天遇到了一个问题。我已经解决了。我用启发式的方法解决了这个问题,但我希望得到科学的解释(我们不应该是程序员,也不应该是科学的人:) 以下是我的MVC项目的初始视图代码: //shortened for brevity @using (Html.BeginForm()) { @Html.ValidationSummary(true) <fieldset> <div class="editor-label">
//shortened for brevity
@using (Html.BeginForm())
{
@Html.ValidationSummary(true)
<fieldset>
<div class="editor-label">
@Html.LabelFor(model => model.UserName)
</div>
<div class="editor-field">
@Html.TextBoxFor(model => model.UserName, new { onkeyup = "InputToLower(this);" })
@Html.ValidationMessageFor(model => model.UserName)
</div>
<div class="editor-label">
@Html.LabelFor(model => model.UserPassword)
</div>
<div class="editor-field">
<input type="password" name="password1" id="password1" />
</div>
<div class="editor-label">
<label for="male">Lütfen şifrenizi tekrar giriniz: </label>
</div>
<div class="editor-field">
<input type="password" name="password2" id="password2" />
</div>
<div class="editor-label">
@Html.LabelFor(model => model.UserEmail)
</div>
<div class="editor-field">
@Html.EditorFor(model => model.UserEmail)
@Html.ValidationMessageFor(model => model.UserEmail)
</div>
<p>
<input type="submit" id="registerButton" value="Kayıt Ol" />
</p>
</fieldset>
}
<script type="text/javascript">
$(function () {
$("#registerButton").click(function (e) {
// e.preventDefault();
var errorSummary = $('.validation-summary-errors');
if (errorSummary.length == 0) {
$('#listError').remove();
$('<div class="validation-summary-errors"></div>').insertAfter($('.validation-summary-valid'));
$(".validation-summary-errors").append("<ul id='listError'><li>0 karakter giremezsiniz. OSI-122 </li></ul>");
}
else if (errorSummary.length == 1) {
$('#listError').remove();
$(".validation-summary-errors").append("<ul id='listError'><li>You cannot enter more than 20 characters.</li></ul>");
}
//return false;
});
});
</script>
//为了简洁而缩短
@使用(Html.BeginForm())
{
@Html.ValidationSummary(true)
@LabelFor(model=>model.UserName)
@Html.TextBoxFor(model=>model.UserName,new{onkeyup=“InputToLower(this);”})
@Html.ValidationMessageFor(model=>model.UserName)
@LabelFor(model=>model.UserPassword)
吕特芬·伊夫雷尼齐·特克拉尔·吉日化:
@LabelFor(model=>model.UserEmail)
@EditorFor(model=>model.UserEmail)
@Html.ValidationMessageFor(model=>model.UserEmail)
}
$(函数(){
$(“#注册表按钮”)。单击(函数(e){
//e.预防违约();
var errorSummary=$('.validation summary errors');
如果(errorSummary.length==0){
$('#listError')。删除();
$('').insertAfter($('.validation summary valid');
$(“.validation summary errors”).append(“- 0 karakter giremeznizing.OSI-122
”);
}
else if(errorSummary.length==1){
$('#listError')。删除();
$(“.validation summary errors”)。追加(“- 您不能输入超过20个字符。
”;
}
//返回false;
});
});
代码为简洁而缩短。当我禁用e.preventDefault()并返回false时,过帐已经完成。e.preventDefault()和return false如何以及为什么阻止发布?你推荐任何提到这类问题的书吗?提前谢谢 registerButton是submit按钮,submit的行为是将表单的数据发布到表单标记中提到的操作。若你们并没有在表单标签中提到任何动作属性,那个么它将点击相同的get动作的post动作
event.preventDefault()和return false停止发回或进一步事件。registerButton是submit按钮,submit的行为是将表单的数据发布到表单标记中提到的操作。若你们并没有在表单标签中提到任何动作属性,那个么它将点击相同的get动作的post动作
event.preventDefault()和return false会阻止您发回或进一步发布事件。而且它们不是问题,它的行为会阻止发布。感谢您的回答,Satpal先生。似乎在互联网上搜索是显而易见的方式。对于JS访问,他们不是问题,这是阻止发布的行为。谢谢你的回答Satpal先生。在互联网上搜索似乎是最明显的方式