2013-11-26 37 views
0

我想使用jquery对话框,但我不断收到此错误。无法读取属性'1'的空错误jqueryui

股利我使用的对话框:

<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

什么错误?您的标题是错误消息吗? – adeneo

+0

您的错误不存在。 –

+0

标题是错误信息 – thenewseattle

回答

0

一个问题是你引用“这个”申报“取消”功能,内试图访问'dialog'元素,但是,在该函数范围内的'this'实际上引用了该函数本身,而不是父元素'jQuery(“#save-dialog”)'。

你可能想改变...

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

到...

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

如果不能修复,那么你将要逐步完成的每一个可调试线'保存'功能。

+0

非常感谢。但我仍然收到相同的错误消息。 –

+0

@CristianoMarques你可以在小提琴中复制你的错误。 http://jsfiddle.net/78rbp/ – PSL

+0

如果这不是解决方法,那么您将需要逐步执行“Saving”功能的每个可调试行。 –

相关问题