2012-03-28 2 views
0

Phonegap 및 JQM을 사용하여 모바일 웹 응용 프로그램을 개발 중입니다. 나는 자신에게 제출하고 서버로부터 AJAX 쿼리를 사용하여 데이터를 얻으 려한다고 가정하는 검색 입력과 함께 페이지를 가지고있다. 텍스트를 입력하고 전화에 입력을 입력하면 양식 제출 이벤트 핸들러가 실행되지만 전화 키보드에서 Enter 키를 누를 때마다 실행되지 않습니다. pagainit에 이벤트 처리기를 추가하려고했지만 pagecreate하지만 자체적으로 페이지에 스크립트를 추가하는 것은 도움이되지 않지만 동일한 동작을 수행합니다. 처리기를 양식에 추가하는 올바른 방법은 무엇입니까?Android-Phonegap-Jquery Mobile : 양식 제출이 두 번째로 작동하지 않습니다.

<html> 
<head> 
    <title>MyApp</title> 

    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1">   
    <meta charset="utf-8"> 
    <meta name="viewport" content="width=device-width, initial-scale=1">   
    <link rel="stylesheet" href="css/jquery.mobile-1.0.1.min.css" /> 
    <script src="js/jquery-1.6.4.min.js"></script> 
    <script src="js/mobileinit.js"></script> 
    <script src="js/ios-orientationchange-fix.min.js"></script> 
    <script src="js/jquery.mobile-1.0.1.min.js"></script> 
    <script type="text/javascript" src="js/phonegap.js"></script> 

</head> 
<body > 

     <div data-role="page" id="index" > 
      <form id="indexsearchform" method="post" > 

      <div data-role="content"> 

       <input type="search" id="txtbusinesssearch" placeholder="Search Business...."/> 

       </div>  

      </form> 
      <script type="text/javascript"><!-- 
       $('#indexsearchform').submit(function(){ 
             alert("hi"); 

       }); 

      --></script> 
     </div> 
</body> 
</html>​ 

답변

2

처음 # 제출 버튼을 클릭 한 후 참조 양식이 같은 양식을하지 않기 때문에 양식에는 두 번째 경고 메시지가 단순히 없습니다 거기에 이유를 . 모양이 동일하고 마크 업이 동일하지만 jQuery 모바일이 양식을 사용자가있는 동일한 주소로 제출하고 결과를 표시하기 때문입니다.

두 가지 옵션 그래서, 당신이

1) 형태로 일반 방식으로 제출 jQuery를 모바일에서 양식 결과 데이터 아약스 = "false"를 추가 한 후 <form id="callAjaxForm" data-ajax="false">

동작을 사용하여 무엇을 할 수 있습니다 페이지가 실제로 다시로드되고 #submit 버튼의 클릭 핸들러가 매번 작동합니다.

2) 그냥 = "버튼" 그리고 일반 버튼의 응답을 잘 :

+0

감사를 작동하지만 새로운 형태는 다음마다 생성받을 경우 .live이 일을해야을 입력하려면 "제출"유형을 변경 . 그러나 .die가없는 다음 코드는 submit 처리기를 여러 번 실행하는 것으로 나타났습니다. $ ('# index') live ('pageinit', function (event) { \t $ ('# indexsearchform'). 함수() {. \t $ ('#의 indexsearchform이')) (다이; \t \t 경고 (「안녕하세요」)을 \t})를 }); . .die를 사용하면 원하는 동작을 얻습니다. 모든 .lve에는 .die 함수 호출이 있어야합니다. – user951910

0

이 시도 :

<form id="indexsearchform" method="post" onsubmit="functionToBeExecutedOnSubmit();" > 
관련 문제