Jquery 如何组合两次点击功能?
我有一个表单,在输入Email和MessageText时向我发送消息。我想使用jQuery验证引擎插件和ajax响应来返回结果。为此,我使用了相同的Jquery 如何组合两次点击功能?,jquery,jquery-validation-engine,Jquery,Jquery Validation Engine,我有一个表单,在输入Email和MessageText时向我发送消息。我想使用jQuery验证引擎插件和ajax响应来返回结果。为此,我使用了相同的jQuery('#messageSendButton')。在每种情况下都单击()函数 要从控制器返回响应,请执行以下操作: <script type="text/javascript"> jQuery('#messageSendButton').click(function () {
jQuery('#messageSendButton')。在每种情况下都单击()
函数
要从控制器返回响应,请执行以下操作:
<script type="text/javascript">
jQuery('#messageSendButton').click(function () {
var url = '@Url.Action("SendQuickMessage", "Home")';
var email = $('#email').val();
var messageText = $('#messageText').val();
$.ajax({
url: url,
type: 'GET',
contentType: 'application/json',
data: { Email: email, Message: messageText },
success: function (result) {
if (result.success) {
alert("Message sent! Thanks!");
}
else {
alert("Error occured!");
}
},
complete: function () {
$(".loading").hide();
}
});
});
</script>
jQuery(“#messageSendButton”)。单击(函数(){
var url='@url.Action(“SendQuickMessage”,“Home”);
var email=$('#email').val();
var messageText=$('#messageText').val();
$.ajax({
url:url,
键入:“GET”,
contentType:'应用程序/json',
数据:{Email:Email,Message:messageText},
成功:功能(结果){
如果(结果、成功){
警报(“消息已发送!谢谢!”);
}
否则{
警报(“发生错误!”);
}
},
完成:函数(){
$(“.loading”).hide();
}
});
});
为了验证表格,请执行以下操作:
<script type="text/javascript">
jQuery(document).ready(function () {
jQuery('#quickMessageForm').validationEngine('init');
jQuery('#messageSendButton').click(function () {
jQuery('#quickMessageForm .loading').animate({ opacity: 1 }, 250);
if (jQuery('#quickMessageForm').validationEngine('validate')) {
jQuery.post('/Home/SendQuickMessage', {
Email: jQuery('#email').val(),
Message: jQuery('#message').val(),
formname: 'messageForm',
formtype: 'messageF'
}, function () {
jQuery('#quickMessageForm .loading').hide();
});
return false;
} else {
jQuery('#quickMessageForm .loading').animate({ opacity: 0 }, 250);
return false;
}
});
});
</script>
jQuery(文档).ready(函数(){
jQuery('#quickMessageForm')。validationEngine('init');
jQuery(“#messageSendButton”)。单击(函数(){
jQuery('#quickMessageForm.load').animate({opacity:1},250);
if(jQuery('#quickMessageForm').validationEngine('validate')){
jQuery.post(“/Home/SendQuickMessage”{
Email:jQuery(“#Email”).val(),
Message:jQuery(“#Message”).val(),
formname:'messageForm',
formtype:'messageF'
},函数(){
jQuery('#quickMessageForm.loading').hide();
});
返回false;
}否则{
jQuery('#quickMessageForm.load').animate({opacity:0},250);
返回false;
}
});
});
它们单独工作,但同时工作,第一个ajax函数工作,第二个验证工作。这是不对的。。我怎样才能把这些结合在一起呢?首先验证表单,然后得到ajax响应
编辑:
以下是表格:
<form action="#" method="post" id="quickMessageForm">
<div class="form_info cmsms_input">
<label>Email<span class="color_3"> *</span></label>
@Html.TextBoxFor(model => model.Email, new { name = "email", id = "email", tabidex = 1, @class = "validate[required,custom[email]]" })
</div>
<div class="form_info cmsms_textarea">
<label>Message<span class="color_3"> *</span></label>
@Html.TextAreaFor(model => model.Message, new { id = "messageText", name = "messageText", tabindex = 2, @class = "validate[required,minSize[10]]" })
</div>
<div class="loading"></div>
<div>
<input type="submit" name="messageSendButton" id="messageSendButton" value="Send" class="button_small" tabindex="3" />
</div>
</form>
电子邮件*
@Html.TextBoxFor(model=>model.Email,新的{name=“Email”,id=“Email”,tabidex=1,@class=“validate[required,custom[Email]]”)
信息*
@Html.TextAreaFor(model=>model.Message,新的{id=“messageText”,name=“messageText”,tabindex=2,@class=“validate[required,minSize[10]]”)
您可以像下面这样尝试
i、 e.使ajax调用async:false
$.ajax({
url: restmethod,
type: "POST",
contentType: "application/json",
async:false
success: function(data) {
return data.d;
}
});
我希望这将对您有所帮助。您可以像下面这样尝试 i、 e.使ajax调用
async:false
$.ajax({
url: restmethod,
type: "POST",
contentType: "application/json",
async:false
success: function(data) {
return data.d;
}
});
我希望这将对您有所帮助。在您松开手指重新书写之前
jQuery
使用(函数($){/*自由使用“$”*/})(jQuery)代码>表单的HTML在哪里?我们是否应该假设#messageSendButton
是提交表单的同一个按钮?此外,请避免“标签垃圾邮件”[jquery validate]
和[jquery validation engine]
是两个不同的插件(由标记描述确认)。已编辑的标签。请查看。我在我的问题中添加了html表单?在你松开手指重新书写之前,jQuery
use(函数($){/*自由使用“$”*/})(jQuery)代码>表单的HTML在哪里?我们是否应该假设#messageSendButton
是提交表单的同一个按钮?此外,请避免“标签垃圾邮件”[jquery validate]
和[jquery validation engine]
是两个不同的插件(由标记描述确认)。已编辑的标签。请查看。我在问题中添加了html表单?