2013-04-08 2 views
0

테이블의 선택 셀에 데이터를 추가하고 싶습니다. JavaScript로이 코드를 작성했습니다.jQuery에서 폼을 제출하지 못하도록

$('input[name=add_button]').click(function(e) { 
    var dateTable = document.getElementById('timeTable'); 
    var rowIndex = $('[name=days]').val(); 
    var colIndex = $('[name=times]').val(); 
    var text = $('input[name = text]').val(); 
    dateTable.rows[rowIndex].cells[colIndex].innerHTML = text; 
    e.preventDefault(); 
}); 

내 문제는 다음과 같습니다 : 내 양식을 방지한다 preventDefault() 방법을 제출하는

var rowIndex = 10; 
var colIndex = 5; 
var dateTable = document.getElementById('timeTable'); 
dateTable.rows[rowIndex].cells[colIndex].innerHTML = "Su"; 

나는대로 jQuery를 동일한 개념을 사용하고 싶었다. 양식 제출을 방해하지 않습니다. dateTable.rows[rowIndex].cells[colIndex].innerHTML = text; 행을 제거하면 양식이 제출되지 않습니다. 나는이 특정 줄에 문제가 있다고 생각한다. 이걸 정리하는 걸 도와주세요. jQuery에서 사용할 수있는 더 좋은 옵션이 있다면 알려주세요. 나는 colIndexrowIndex을 사용하여 셀의 위치를 ​​찾을 수 있습니다.

감사

+0

당신이 HTML을 게시 할 수 있습니까? 'colIndex'와'rowIndex'는 당신이 기대하는 것으로 설정되지 않았을 수도 있고 실제로 정의되지 않을 수도 있습니다. 콘솔에서 오류가 발생 했습니까? – SachinGutte

+0

firebug 콘솔에서 자바 스크립트 오류가 발생합니다. –

+0

@phobos : 아니오 콘솔에 오류가 없습니다. – NewUser

답변

1

이 시도 : 이러한 1에서 다음에이 시작하는 경우

<form onsubmit="return false;" ......> 

</form> 

는 또한 이러한 0 or 1에서 시작하면 인덱스를 확인하여 form tag처럼에 return false; 추가 decrease it by 1을 사용하기 전에,

과 같은 dateTable.rows[rowIndex-1].cells[colIndex-1].innerHTML = text;

실제로 button을 클릭하면 의 default behavior이 아닌 다른 요소의 동작 (form in your case)이 표시됩니다.

그래서 여기서는 form을 방지 할 수 없다고 생각합니다.

대체 코드 사용할 수 :

$('form#myForm').on('submit',function(e){ 
    e.preventDefault(); 
    var dateTable = document.getElementById('timeTable'); 
    var rowIndex = $('[name=days]').val(); 
    var colIndex = $('[name=times]').val(); 
    var text = $('input[name = text]').val(); 
    dateTable.rows[rowIndex].cells[colIndex].innerHTML = text; 
    return false; 
}); 
+0

이 문장에 대한 jQuery 대안이 있습니까? – NewUser

+0

내 대답을 다시 한 번 확인하고, 일부 내용을 변경했습니다. http://stackoverflow.com/questions/5081674/jquery-prevent-default-browser-form-submit-behaviour-but-submit-form-with-jquer –

+0

+1 두 번째 해결 방법이 마음에 들었습니다. 그 깨끗하고 달콤한. – NewUser

관련 문제