Jquery 对网站使用服务器端错误处理(突出显示输入字段)
我想使用ajax post jquery进行错误处理。我的代码如下:- HTML:Jquery 对网站使用服务器端错误处理(突出显示输入字段),jquery,ajax,Jquery,Ajax,我想使用ajax post jquery进行错误处理。我的代码如下:- HTML: <form name="frm" method="POST" action=""> <input type="text" name="name" id="name" value="" /> <input type="text" name="last_name" id="last_name" value="" /> <input type="subm
<form name="frm" method="POST" action="">
<input type="text" name="name" id="name" value="" />
<input type="text" name="last_name" id="last_name" value="" />
<input type="submit" name="Update" id="update" value="Update" />
</form>
表单操作的html代码是
<form action="" method="post" id="incident-report-form" accept-charset="UTF-8"><div><p style="margin:0px; padding:0px;"><font color="red"><i><noscript>Javascript is disabled in your browser. This will cause some areas of the form to be unavailable. Enable Javascript to access the complete form.</noscript></i></font></p><div id="package-header-message">
浏览器中禁用了Javascript。这将导致表单的某些区域不可用。启用Javascript以访问完整的表单
我认为Jquery代码没有考虑表单提交事件。当我点击submit按钮时,没有任何事情发生,页面停留在那里,它不会回显validate.php文件中的任何内容
您需要从
insert.php
文件返回特定的值(或对象)
我创建了一个基本示例,用于返回值,格式如下:
ctrlID1&ctrlID2&ctrlID3&ctrlID4
例如:
$("#update").click(function (e) {
e.preventDefault();
var name = $("#name").val();
var last_name = $("#last_name").val();
var dataString = 'name=' + name + '&last_name=' + last_name;
$.ajax({
type: 'POST',
data: dataString,
dataType: 'Text',
url: 'insert.php',
success: function (data) {
//Split the returned string into an array
var ctrlArray = data.split('&');
//Itterate over each item of the array
$.each(ctrlArray, function (index, item) {
//Set each control to have a red border
$('#' + item).css({ border: '1px solid red' });
});
}
});
});
我所做的是修改
$.ajax
调用,方法是添加文本的数据类型
(因为本例需要一个字符串),并修改success
函数来处理返回数据并设置控件的边框。太棒了!谢谢你。但是验证是在客户端执行的,我想在insert.php文件中执行?@user2820931哦,好的。如果要验证insert.php
中的控件,则需要返回一些内容,以向客户端提供不正确内容的控件ID。您打算如何执行此操作?@user2820931请查看我的更新答案和示例,此示例特定于某个返回格式,如果您希望使用其他返回格式,您可能需要对其进行修改。@user2820931您可以轻松地将其添加到我为您创建的示例中,但是你需要从你的insert.php
中返回一些东西,让客户知道哪些字段是不正确的,你能给我一个返回内容的例子吗?是的,我知道了。上面指定的返回值将在存在输入验证错误的情况下设置。我想做的一些基本验证是ip地址和端口。我在为他们编写正则表达式方面没有任何问题,我担心的只是显示(UI)。另外,在您以文本形式给出数据类型的代码中,若在(实)代码中,我也允许用户输入整数呢。例如,它可以是dataString变量中的name+IP地址。在服务器端,我必须拆分字符串并保存到数组中,以便执行正则表达式。
ctrlID1&ctrlID2&ctrlID3&ctrlID4
$("#update").click(function (e) {
e.preventDefault();
var name = $("#name").val();
var last_name = $("#last_name").val();
var dataString = 'name=' + name + '&last_name=' + last_name;
$.ajax({
type: 'POST',
data: dataString,
dataType: 'Text',
url: 'insert.php',
success: function (data) {
//Split the returned string into an array
var ctrlArray = data.split('&');
//Itterate over each item of the array
$.each(ctrlArray, function (index, item) {
//Set each control to have a red border
$('#' + item).css({ border: '1px solid red' });
});
}
});
});