我想通过混合两个不同的javascript代码将我的html表单数据提交到servlet
,其中一个是:
<script type="text/javascript">
$(document).ready(function() {
$("#form1").validate({
rules: {
name: "required",
email: {
required: true,
email: true
},
url: {
url: true
},
comment: {
required: true
}
},
messages: {
comment: "Please Enter Your Message."
},
submitHandler:function(login_form){
$(login_form).ajaxSubmit({
target: '#msg-box',
success: function() {
$('#form1').slideUp('slow', function(){
$(".show_hide").show();
});
}
});
}
});
});
</script>
,第二个是(来自this教程):
<script type="text/javascript">
$(document).ready(function(){
$("#login_frm").submit(function(){
//remove previous class and add new "myinfo" class
$("#msgbox").removeClass().addClass('myinfo').text('Validating Your Login ').fadeIn(1000);
this.timer = setTimeout(function () {
$.ajax({
url: 'check.jsp',
data: 'un='+ $('#login_id').val() +'&pw=' + $('#password').val(),
type: 'post',
success: function(msg){
if(msg != 'ERROR') // Message Sent, check and redirect
{ // and direct to the success page
$("#msgbox").html('Login Verified, Logging in.....').addClass('myinfo').fadeTo(900,1,
function()
{
//redirect to secure page
document.location='login.jsp?user='+msg;
});
}
else
{
$("#msgbox").fadeTo(200,0.1,function() //start fading the messagebox
{
//add message and change the class of the box and start fading
$(this).html('Sorry, Wrong Combination Of Username And Password.').removeClass().addClass('myerror').fadeTo(900,1);
});
}
}
});
}, 200);
return false;
});
});
</script>
我不是javascript或JQuery忍者,有人请帮助我将这些代码组合在一起..
有一点可以肯定的是,我要在submitHandler
代码中进行许多更改,但我尝试的却没有成功。
P.S。:对jsp-jquery-ajax表单验证和提交的任何更好的想法都是热烈欢迎
答案 0 :(得分:0)
您的$.ajax
和$().ajaxSubmit
可以合并,因为它们通常采用相同的选项。
我会重构$ .ajax以使其成为ajaxSubmit的一部分。你可以摆脱$ .ajax的data:
b / c ajaxSubmit处理它。 success: function()
也是一样的。
对于setTimeout()
和removeClass()
,您可以使用:beforeSubmit:
与$ .ajax的beforeSend: