无法读取null错误jqueryui的属性“1”

时间:2013-11-26 23:27:00

标签: jquery user-interface dialog

我试图使用jquery对话框,但我一直收到此错误。

Div我用于对话:

<div id="save-dialog" title="Save">
    <p>Is this a tipo or a new patch? Leave blank if its a patch</p>
    <p>Enter patch like this:"CB 1"</p>
    <form>
    <fieldset>
    <input type="text" id="patch" value=""/>
    </fieldset>
    </form>
</div>

完成JS:

    function savex(name){
    var desc = jQuery('input#'+name).val();
    var id = "<?php echo $_GET[id]; ?>";
    var patch = jQuery("#patch").val();
    jQuery("#save-dialog").dialog({
        autoOpen:false,
        height:300,
        width:300,
        modal:true,
        buttons: {
            "Saving": function(){

                jQuery.ajax({
                    url: 'editcontentheroes.php',
                    type: 'post',
                    data: 'id='+id+'&desc='+desc+'&name='+name+'&patch='+patch,
                    always: function(output) 
                    {
                      history.go(0);
                    }
                });   
            },
            Cancel: function(){
                jQuery(this).dialog("close");
            }
        }
    }); 
}

函数savex由按钮调用。试图检查一些空变量,但没有发现任何问题。

编辑:标题是我得到的错误

Edit2:我正在使用wordpress

1 个答案:

答案 0 :(得分:0)

一个问题是你在为'Cancel'声明的函数中引用'this',并尝试访问'dialog'元素,但是,在该函数范围内的'this'实际上引用了该函数本身,并且不是父元素,'jQuery(“#save-dialog”)'。

您可能想要改变......

Cancel: function(){
            jQuery(this).dialog("close");
        }

为...

Cancel: function(){
            jQuery(this).parent.dialog("close");
        }

如果这不是修复,那么您将需要逐步执行“保存”功能的每个可调试行。