2012-07-14 2 views
3

js 함수가 내 SITE에서 작동하지 않지만 시도 할 때 JSFIDDLE에서 정상적으로 작동합니다. DOM 준비가되었지만 아무것도 트리거하지 않습니다. 나는 파이어 폭스로 확인했고 입력 값은 전혀 게시되지 않았다. 사용자가 타이핑을 멈 추면 JS 기능이 제대로 작동하도록하려면 어떻게해야합니까?JS/AJAX : 새로 고치지 않고 제출하거나 입력 후 버튼이 클릭되지 않음을 클릭하십시오.

JS

<script> 
$(document).ready(function() { 
var timer = null; 
var dataString; 
function submitForm(){ 
    alert("success"); 
    $.ajax({ type: "POST", 
      url: "index.php", 
      data: dataString, 
      success: function(result){ 
       alert("success"); 
       /*$('#special').append('<p>' + $('#resultval', result).html() + '</p>');*/ 

      } 

    }); 
    return false; 
} 
$('#submit').on('keyup', function() { 
    clearTimeout(timer); 
    timer = setTimeout(submitForm, 2000); 
    var name = $("#name").val(); 
    dataString = 'name='+ name; 
}); 
}); 
</script> 

HTML

<input id="name" name="name" type="text" class="field text medium" value="<? $url ?>" maxlength="255" tabindex="1"  /> 
+1

console.log()를 사용하여 코드의 문제점을 확인하십시오. –

+0

실패 콜백 설정을 시도 했습니까? 그렇다면 오류가 무엇입니까? –

답변

3

문제는 HTML에 당신이 id="name"이 이상하지만 "#submit"에 결합되어 있다는 점이다.

jsfiddle 예제에 id="submit"이 있는데, 이것이 작동하는 이유입니다.

+0

올바른 개체에 바인딩되어 있다고 생각했습니다. 고맙습니다! – techAddict82

1

귀하의 사이트에서 id가 "submit"인 요소를 찾을 수 없으므로 $('#submit')이 비어 있습니다.

관련 문제