Jquery 对网站使用服务器端错误处理(突出显示输入字段)

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

我想使用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="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' });
                });
            }
        });
    });