小编Nic*_*ick的帖子

我可以使用preventDefault(); 在ajax回调中?

我正在做一些表单验证,而我正在努力完成我想要完成的任务.我希望能够在字段的模糊处验证我的邮政编码,但也可以调用相同的函数来验证表单提交时的zip,并防止在邮政编码无效时提交表单.我的代码(一般来说)就是这样的.

function validateZipCode(event){
    $.getJson(
        url,
        params,
        function(data){
            if(data.response === false){
                someError.show();
                event.preventDefault(); //stop the form from being submitted
            }    
        }
    );
}

$('#someForm').submit(function(event){
    validateZipCode(event);
});

$('#zipInput').blur(function(event){
    validateZipCode(event);
})
Run Code Online (Sandbox Code Playgroud)

我已经尝试使用这个jQuery中的方法将更多参数传递给回调帖子,但我似乎仍然无法完成我需要的东西.任何帮助表示赞赏.

javascript validation jquery

12
推荐指数
1
解决办法
5556
查看次数

MySQL表中的PDO'ON DUPLICATE KEY UPDATE'rowCount()返回两倍更新的记录

我正在开发一个上传CSV并更新MySQL表的项目.在我的sql insert语句结束时,我有一个"on duplicate key update ..."语句.

我的问题是,PDO rowCount()似乎返回2x更新的行.例如,当我第一次上传CSV时,我总共得到100行(csv行的数量),而rowCount返回100,这是有意义的,因为我插入了100行.

但是,如果我再次上传相同的文件,则更新所有100行(我更新unix时间戳),并且rowCount返回200.我认为这是因为rowCount为每次更新返回2,为插入返回1.

我的假设是否正确?有没有人遇到过此问题,是否有一个不涉及100个单独的插入语句的解决方案?我希望能够显示csv中的总行数,插入的新行总数以及更新的总行数.

$sql = 'INSERT INTO projects (' . implode($fields,',') . ') VALUES';
    $rowCount = count($csvData);
    $tmp = array();
    for( $i = 0; $i < $rowCount; $i++ ){
        $placeholders = array();
        foreach( $fields as $key=>$val ){

            /* do some post processing for special characters */
            switch($val){
                case 'description':
                    $value = !empty($csvData[$i][$_POST[$val]]) ? $csvData[$i][$_POST[$val]] : NULL;
                    array_push($tmp,$value);
                break;
                case 'country':
                    $value = !empty( $csvData[$i][$_POST[$val]] ) ?  implode(' ',array_unique(explode(' ', $csvData[$i][$_POST[$val]]))) : NULL;
                    $value …
Run Code Online (Sandbox Code Playgroud)

php mysql pdo

12
推荐指数
1
解决办法
2171
查看次数

Jquery UI自动完成自定义HTML(项目未定义)

我一直在试图让jQuery UI Autocomplete输出自定义HTML.这是我的代码.

        $(document).ready(function(){

        $.widget( "custom.catcomplete", $.ui.autocomplete, {
            _renderMenu: function( ul, items ) {
                var self = this,
                    currentCategory = "";
                $.each( items, function( index, item ) {
                    if ( item.category != currentCategory ) {
                        ul.append( "<li class='ui-autocomplete-category'>" + item.category + "<ul class='autocomplete-category'></ul></li>" );
                        currentCategory = item.category;
                    }
                    self._renderItem( ul, item);
                });
            }
        });

        var data = [
            { label: "anders", category: "Antigen" },
            { label: "andreas", category: "Antigen" },
            { label: "antal", category: "Antigen" },
            { label: "annhhx10", category: …
Run Code Online (Sandbox Code Playgroud)

javascript jquery jquery-ui autocomplete jquery-ui-autocomplete

6
推荐指数
1
解决办法
1万
查看次数