나는 이것으로 머리카락을 꺼냅니다. 비동기 적으로 이벤트 캘린더에 대한 데이터를 가져 오는 자바 스크립트가 있습니다. 기본적으로 한 달의 날짜를 클릭하면 약간의 UI가 표시되고 텍스트 영역에는 검색된 데이터가 채워집니다. 이 UI에는 두 개의 제출 버튼이 있습니다. 하나는 변경 사항을 저장하고 하나는 이벤트를 삭제하는 버튼입니다. 내 목표는 텍스트 영역에 이벤트가 채워지기 전까지 삭제 버튼을 비활성화하는 것입니다.Firefox를 제외한 모든 브라우저에서 Javascript 오류가 발생했습니다.
function editDialog(date,vis)
{
if(vis == "show")
{
var event="Loading...";
if (window.XMLHttpRequest)
{
xmlhttp=new XMLHttpRequest();
}
else
{
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
event = xmlhttp.responseText;
}
document.getElementById('editwrapper').innerHTML="<div id='editdiv'>\
<div><span class='bold'>"+date+" </span><div style='display: inline; float: right;'><a href='#' onclick=\"return editDialog('"+date+"','hide')\">Close</a></div><hr id='line'> \
<form method='get' action='' onsubmit=\"return editDialog(this.newdate.value, 'show')\">\
<label for='newdate'>Jump to: </label>\
<input type='text' name='newdate' size='10'/>\
<input type='submit' name='go' value='Go'>\
</form>\
<form style='display: inline;' action='' name='saveform' method='get' onsubmit='return instantUpdate(this.date.value,this.event.value)'>\
<textarea name='event' rows='10' cols='40' onkeypress='saveform.edit.disabled=false'>"+event+"</textarea>\
<input type='hidden' name='date' value='"+date+"'>\
<input type='submit' name='edit' value='Save' disabled='disabled'></form> <form name='deleteform' style='display: inline; float: right;' action='' method='get' onsubmit=\"return instantUpdate(saveform.date.value,'')\"> <input name='deletebutton' value='Delete' type='submit'></form>\
</div>\
</div>";
if(event=="" || event=="Loading...") document.deleteform.delete.disabled = true;
}
xmlhttp.open("GET","events.php?action=read&date="+date,true);
xmlhttp.send(); } }
문제는이 문을있다 :
if(event=="" || event=="Loading...") document.deleteform.deletebutton.disabled = true;
파이어 폭스는 잘 처리하지만, 사파리, 크롬, 오페라, 그리고 IE는 모든 hissy에 맞는 던져 여기 내 코드입니다. 자바 스크립트가 활성화되지 않은 사용자를 위해 내 폴백 기능으로 되돌립니다. 내가 도대체 뭘 잘못하고있는 겁니까?
Chromes 디버거는 무엇을 말 했나요? –
jQuery를 사용하십시오 !!!!! – ChaosPandion
나는 실제로 보지 않았다. 그러나 나는 그것을 사용하는 방법에 익숙하지 않다. 내가 알아낼 수 있는지 알게 될거야. – vince88