jQuery的形式提交与sucess和错误消息

我做使用jQuery,并从服务器端我得到一个JSON格式的响应表单提交和验证..jQuery的形式提交与sucess和错误消息

我在一个jQuery的对话框,显示消息,但不能够显示来自服务器的消息....

我的方法:

<script type="text/javascript"> 

//<![CDATA[

$.validator.setDefaults({

submitHandler: function() {

var spogName = $("input#spogname").val();

var spogDis = $("input#spogdescription").val();

var dataString ='&spogName='+ spogName +'&spogDescription=' + spogDis;

$.ajax({

url: "/cpsb/spogMaster.do?method=addSpog",

type: "POST",

data: dataString,

cache: false,

success: function() {

$("#dialog-message").dialog({

resizable:false,

height:180,

modal: true,

buttons: {

Ok: function() {

$(this).dialog('close');

}

}

});

},

error: function() {

}

});

},

highlight: function(input) {

$(input).addClass("ui-state-highlight");

},

unhighlight: function(input) {

$(input).removeClass("ui-state-highlight");

}

});

$(document).ready(function() {

navMenu();

$("#spogForm").validate({

rules: {

spogname:{

required: true

}

},

messages: {

spogname: "Please enter the Spog Name"

}

});

$(":submit").button();

});

//]]>

</script>

我的标记:

<div id="dialog-message" title="Spog Message" style="display:none;"> 

<p>

<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>

Spog added successfully!

</p>

</div>

<div id="header"><jsp:include page="../menu_v1.jsp"/></div>

<div id="mainContent">

<div id="spog_form">

<form class="cmxform" id="spogForm" method="post" action="/cpsb/spogMaster.do?method=addSpog">

<fieldset class="ui-widget ui-widget-content ui-corner-all">

<legend class="ui-widget ui-widget-header ui-corner-all">ADD SPOG</legend>

<p>

<label for="spogname">Spog Name (required)</label>

<input id="spogname" name="spogName" class="required ui-widget-content" minlength="2" />

</p>

<p>

<label for="spogdescription">Spog Description </label>

<input id="spogdescription" name="spogDescription" class="spogD ui-widget-content" />

</p>

<p>

<button class="submit" type="submit">Submit</button>

</p>

</fieldset>

</form>

</div>

</div>

</body>

JSON字符串我正在如果spog在数据库中存在:

{"messageId":"errorMessage","message":"spog found with Name 10000 Description nuts"} 

更新1:

<script type="text/javascript"> 

//<![CDATA[

$.validator.setDefaults({

submitHandler: function() {

var spogName = $("input#spogname").val();

var spogDis = $("input#spogdescription").val();

$.ajax({

url: "/cpsb/spogMaster.do?method=addSpog",

type: "POST",

datatype:'json',

data: {

method:"addSpog",

spogName:spogName,

spogDescription:spogDis

},

cache: false,

success: function(data) {

if (data.messageId === 'errorMessage') {

// server responded with an error, show the error placeholder

// fill in the error message, and spawn the dialog

$("#dialog-message")

.find('.success').hide().end()

.find('.error').show()

.find('.message').text(data.message).end()

.end()

.dialog({

resizable:false,

height:180,

modal: true,

buttons: {

Ok: function() {

$(this).dialog('close');

}

}

});

} else {

// server liked it, show the success placeholder and spawn the dialog

$("#dialog-message")

.find('.error').hide().end()

.find('.success').show().end()

.dialog({

resizable:false,

height:180,

modal: true,

buttons: {

Ok: function() {

$(this).dialog('close');

}

}

});

}

}

});

},

highlight: function(input) {

$(input).addClass("ui-state-highlight");

},

unhighlight: function(input) {

$(input).removeClass("ui-state-highlight");

}

});

$(document).ready(function() {

navMenu();

$("#spogForm").validate({

rules: {

spogname:{

required: true

}

},

messages: {

spogname: "Please enter the Spog Name"

}

});

$(":submit").button();

});

//]]>

</script>

标记:

<div id="dialog-message" title="Spog Message" style="display:none;"> 

<p class="success">

<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>

Spog added successfully!

</p>

<p class="error">

An error occurred while adding spog:

<span class="message"></span>

</p>

</div>

回答:

作为@Sam笔记,你需要调整你的成功回调,你还需要调整你的HTML一点。

<div id="dialog-message" title="Spog Message" style="display:none;"> 

<p class="success">

<span class="ui-icon ui-icon-circle-check" style="float:left; margin:0 7px 50px 0;"></span>

Spog added successfully!

</p>

<p class="error">

An error occurred while adding spog:

<span class="message">placeholder</span>

</p>

</div>

然后JS变化...

success: function(data) { 

if (data.messageId && data.messageId === 'errorMessage') {

// server responded with an error, show the error placeholder

// fill in the error message, and spawn the dialog

$("#dialog-message")

.find('.success').hide().end()

.find('.error').show()

.find('.message').text(data.message).end()

.end()

.dialog({

resizable:false,

height:180,

modal: true,

buttons: {

Ok: function() {

$(this).dialog('close');

}

}

});

} else {

// server liked it, show the success placeholder and spawn the dialog

$("#dialog-message")

.find('.error').hide().end()

.find('.success').show().end()

.dialog({

resizable:false,

height:180,

modal: true,

buttons: {

Ok: function() {

$(this).dialog('close');

}

}

});

}

},

回答:

添加以下上面的 “成功”:datatype: "json",

然后将成功改为如下所示:

success: function(data) { 

$("#dialog-message").append('<p>'+data.message+'</p>').dialog({

resizable:false,

height:180,

modal: true,

buttons: {

Ok: function() {

$(this).dialog('close');

}

}

});

},

基本上你需要;
一)告诉你的代码,你的服务器将返回JSON(并且因此应EVAL吧)
B)做一些与JSON - 例如拉出消息,并将其附加到您的对话框

请理解,上面的代码只是一个建议,我还没有测试过!

以上是 jQuery的形式提交与sucess和错误消息 的全部内容, 来源链接: utcz.com/qa/266986.html

回到顶部