Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/245.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP JQuery和jtable_Php_Jquery_Mysql_Jeditable - Fatal编程技术网

PHP JQuery和jtable

PHP JQuery和jtable,php,jquery,mysql,jeditable,Php,Jquery,Mysql,Jeditable,关于这个问题,我有一个简短的问题。我正在使用jeditable在位编辑页面上的一些字段。这是完美的工作。现在我想实现一些数据检查。我有我的php代码来检查输入的数据,如果正确,它会更新数据库,如果不正确,它会返回错误。我遇到的问题是,我希望它吐出错误来告诉他们,但当他们再次单击该字段进行编辑时,它会在字段中显示错误,直到页面刷新。我希望它在错误发生后单击字段时,字段中的数据相同,而不必刷新页面,然后再次单击字段进行编辑。也许有一种方法可以返回错误并将其传递到字段上方的某种工具提示中?当然,jed

关于这个问题,我有一个简短的问题。我正在使用jeditable在位编辑页面上的一些字段。这是完美的工作。现在我想实现一些数据检查。我有我的php代码来检查输入的数据,如果正确,它会更新数据库,如果不正确,它会返回错误。我遇到的问题是,我希望它吐出错误来告诉他们,但当他们再次单击该字段进行编辑时,它会在字段中显示错误,直到页面刷新。我希望它在错误发生后单击字段时,字段中的数据相同,而不必刷新页面,然后再次单击字段进行编辑。也许有一种方法可以返回错误并将其传递到字段上方的某种工具提示中?当然,jeditable的工作方式是div围绕着字段,然后我有一些js调用我的update.php文件,这会解析jeditable传递给它的内容,并返回一个$value进行错误检查,默认情况下,如果没有问题,只需将其放在php“return$value”的底部,保存到DB中后放回字段中


希望有人能理解我在这里的要求,并感谢任何帮助。

最简单的方法可能是进行一些客户端验证。现在,您正在通过在提交表单时签入PHP来进行服务器端验证。你在检查什么?没有代码,很难给你一个客户端验证的好例子

基本字段检查:

var check_field = $("#field").val();
if (!check_field) { alert("Error message"); } else 
{ 
   // submit POST or whatever 
}
编辑

由于MAC地址验证算法已经在服务器端编写,我建议使用单独的ajax POST请求来调用checker函数。获取该请求的结果(真、假)并在客户端进行检查。如果为true,则继续执行更新调用

例如:

$("#form").submit(function() {
var mac = $("#macfield").val();
if (!mac) { alert("MAC address can't be empty!"); } else 
{ 
   $.POST("checkmacaddress.php", {macval: mac}).success(function(a){
       //assuming a comes back as a bool
       if (!a) { alert("Invalid MAC!"); } else
       {
          // if the checker returned true, update the record
          $.POST("update.php" ...);
       }
   });
} });

这不包括checkmacaddress.php,但是如果您手头已经有了这个函数,那么您应该能够处理它

讨厌我这样做,在这里发帖,然后自己找出答案……但至少如果有人有同样的问题,他们会看到。我发现了jeditable onsubmit函数……我在编辑字段时使用工具提示在悬停状态下显示,这样会将工具提示设置为错误,除非是有效的mac,否则不会提交数据

    function isMAC(value) {
            teststr = value;
            regex=/^([0-9a-f]{2}([:-]|$)){6}$|([0-9a-f]{4}([.]|$)){3}$/i;
            if (regex.test(teststr)){
                    return true;
            }
            else {
                    return false;
            }
    }

    $(".edit_mac").editable("edit_mac.php", {
            onsubmit: function(settings, data) {
                    var input = $(data).find('input');
                    var value = input.val();
                if (isMAC(value)) {
                            return true;
                } else {
                            //display your message
                            $("#tooltip").html("Bad MAC Address...");
                            return false;
                    }
            },
          indicator : "Saving...",
          submitdata: { _method: "put" },
          submit : 'Save',
          cssclass : "editable",
          type : "text"
    });

检查用户是否输入了有效的MAC地址…我在php中有一个函数“IsValidMACAddress($MAC);”并返回true或false。谢谢。我理解所有这些,并且已经做了这样一件事,唯一的问题是拦截JS的绝地表部分,这样如果mac无效,那么就根本不处理。可以内联编辑的每个单元格都由$(“.edit_mac”).editable(“edit_mac.php”)定义…我可以截获表单的提交以检查mac地址,但可编辑部分仍在继续,并将返回的错误放入单元格中,而不是将其与已存在的数据一起保留。不确定,因此在点击提交时它会检查mac,如果确定,则可编辑部分继续,否则显示错误,将原始数据保留在单元格中。