2013-05-13 1 views
0

여기 jquery 대화 상자를 팝업하려고합니다. 내가 대화 는jquery 대화 상자가 누락되었습니다 : 속성 ID 오류 후

var opt = { 
     autoOpen: false, 
     modal: true, 
     width: 550, 
     height:650, 
     title: 'Details' 
}; 

그것은 잘 작동 .. 다음과 같은 코드가 있습니다. 팝업 창이 뜹니다. 그러나 추가 정보를 추가하면이 오류가 발생합니다.

<script> 
$(document).ready(function(){ 

$(".editbt").click(function(event) { 
    event.preventDefault(); 

    $.ajax({ 
     type: "GET", 
     url: this.href, 
     cache:false, 
     success: function(response){ 
     var opt = { 
     box :$("#box"), 
     itemname:$("#itemname"), 
     size:$("#size"), 
     potency:$("#potency"), 
     quantity:$("#quantity"), 

     allFields:$([]).add(box).add(itemname).add(size).add(potency).add(quantity), 
     tips :$(".validateTips"); 

    function updateTips(t) { 
     tips 
     .text(t) 
     .addClass("ui-state-highlight"); 
     setTimeout(function() { 
     tips.removeClass("ui-state-highlight", 1500); 
     }, 500); 
    } 


    function checkLength(o, n, min, max) { 
     if (o.val().length > max || o.val().length < min) { 
     o.addClass("ui-state-error"); 
     updateTips("Please enter the field "); 
     return false; 
     } else { 
     return true; 
     } 
    } 
    function checkRegexp(o, regexp, n) { 
     if (!(regexp.test(o.val()))) { 
     o.addClass("ui-state-error"); 
     updateTips(n); 
     return false; 
     } else { 
     return true; 
     } 
    } 

    $("#dialog-form").dialog({ 
     autoOpen: false, 
     height: 600, 
     width: 500, 
     modal: true, 
     buttons: { 
     "edit": function() { 
      var bValid = true; 
      allFields.removeClass("ui-state-error"); 
bValid = bValid && checkLength(box, "box", 1, 16); 
    bValid = bValid && checkLength(itemname, "itemname", 1, 16);   
    bValid = bValid && checkLength(size, "size", 1, 16);  
bValid = bValid && checkLength(potency, "potency", 1, 16); 
    bValid = bValid && checkLength(quantity, "quantity", 1, 16);   

      if (bValid) { 
      $("#users tbody").append("<tr>" + 
       "<td>" + box.val() + "</td>" + 
       "<td>" + itemname.val() + "</td>" + 
       "<td>" + size.val() + "</td>" + 
       "<td>" + potency.val() + "</td>" + 
       "<td>" + quantity.val() + "</td>" + 
      "</tr>"); 
      $(this).dialog("close"); 
      } 
     }, 
     Cancel: function() { 
      $(this).dialog("close"); 
     } 
     }, 
     close: function() { 
     allFields.val("").removeClass("ui-state-error"); 
     } 
    }); 
}; 

      if (response.length > 0) { 
      var wrapperelement = document.getElementById('display'); 

       wrapperelement.innerHTML = response; 
       $("#dialog-form").dialog(opt).dialog("open"); 

      } 
     } 
}); 

}); 



}); 

</script> 

어떤 생각 포스트 업데이트

? 시간 내 주셔서 감사합니다.

+1

: 당신은 또한 그것으로 할 수

? 콘솔에서 오류를 확인하는 데 귀찮았습니까? 오류는 자체적으로 설명됩니다. – lifetimes

+0

@Zenith 예. 나는 확인했다. .. 그것은 오류를 보였다. 나는 이것이 대상 창조라는 것을 몰랐다. 나는 처음으로 그것을하고있다. .. – user2234992

+0

나는 길에서 무례하게하려고 노력하지 않고있다, it 's JSbin에 코드를 붙여 넣거나 콘솔에 체크인하면 각 오류와 그 오류를 매우 빠르게 일으키는 것을 볼 수 있습니다. 게시하기 전에 항상 – lifetimes

답변

1

구문이 잘못되었습니다. 당신은 자바 스크립트 객체를 생성하는 구문은입니다 : 또한

var opt = { 
    box: $("#box"), 
    itemname: $("#itemname"), 
    size: $("#size"), 
    potency: $("#potency"), 
    quantity: $("#quantity"), 
    . 
    . 
} 

, 필요하지 않은 boxvar 앞서. `: 당신은`=`대신`의 사용하는 이유는

var opt = new Object(); 
opt.box = $("#box"); 
opt.itemname: $("#itemname"); 
. 
. 
+0

- 만약'var opt = {xyz : function}}'을 원한다면, 그렇게 할 수 있습니다. – mridula

관련 문제