2011-03-06 7 views
2

onSubmit에 문제가 있습니다. jQTouch와를 사용하여 모바일 웹 사이트를 구축하고 있습니다. 사용자가 Enter 키를 눌렀지만 작동하지 않는 경우 onSubmit을 사용하여 함수를 호출하려고합니다. 정말 문제가 무엇인지 모르겠다. 왜냐하면 onclick이 호출 할 때 함수가 완벽하게 작동하기 때문이다.자바 스크립트 함수가 onSubmit과 함께 호출 될 때 작동하지 않습니다.

그래서 여기에 HTML의 :

<form action="" method="get" name="form1" onSubmit="calculateValue1();return false"> 
     <ul> 
     <li> 
     Input 1 <input id="input1" name="input1" type="number"/> 
     </li>      
     <li> 
     Input 2 <input id="input2" name="input2" type="number"/> 
     </li> 
     </ul> 
</form> 

<a onclick="calculateValue1()">Calculate</a> 

그리고 여기에 기능 calculateValue1()에 대한 자바 스크립트입니다 :

function calculateValue1() {  
    M = window.form1.input1.value; 
    n = window.form1.input2.value; 

    if (window.form1.input1.value=="") { 
    alert("Value missing"); 
    } 
} 

의 onclick와 링크를 클릭하면 기능이 작동합니다. 포커스가 입력 필드 1에 있고 엔터를 누르면 아무 일도 일어나지 않습니다.

문제점은 무엇입니까? 엔터를 치면 오류 메시지가 나타나지 않습니다. 실제로 무엇이 문제인지 모릅니다. 제출하십시오.

답변

2

양식에 제출 버튼이 없습니다.

 
<form onsubmit="alert('here'); return false;" name="form1" method="get"> 
     <ul> 
     <li> 
     Input 1 
     </li>      
     <li> 
     Input 2 
     </li> 
     </ul> 
<input type="submit" value="submit" style="display:none" /> 
</form> 
+0

음을, 좋아, 제출 버튼이 숨겨져 있지만, 기능이 히트가 입력 할 때 호출되지 않습니다 : I 버튼을/숨기기하지 않는 경우 , 그것은 작동합니다 ... – user647246

+0

이상하네요. 제 onSubmit은 귀하의 것과 동일하지 않습니다. – Dimitry

+0

예, 이상합니다. 그러나 style = "visibility : hidden"을 지정하면 제출 버튼이 숨겨지고 함수가 호출됩니다. 감사! – user647246

0

당신이 양식을 제출하면 태그의 onsubmit 이벤트가 트리거 중 하나 "제출"또는 입력 필드를 입력 한 다음 Enter 키를 누릅니다하지만 때 순서 양식이 입력 눌러에 제출하는 형태의 가압 입력을 통해 당신은 적절한 제출 버튼이 있어야합니다. 당신은 제출 후를위한 앵커 링크 필요가 없습니다 :

<form action="" method="get" name="form1" onSubmit="calculateValue1();return false"> 
    <ul> 
    <li> 
    Input 1 <input id="input1" name="input1" type="number"/> 
    </li>      
    <li> 
    Input 2 <input id="input2" name="input2" type="number"/> 
    </li> 
    </ul> 
    <input type="submit" value="Calculate"></input> 
</form> 
관련 문제