2013-03-04 41 views
0

對不起,如果我重複已經解決的問題。我的PhoneGap基礎的認證過程:PhoneGap - 未捕獲ReferenceError:函數未在文件中定義

AVD:安卓4.2.2

<head> 
    <script type="text/javascript" charset="utf-8" src="js/jquery-1.8.3.min.js"></script> 
    <script type="text/javascript" charset="utf-8" src="js/jquery.mobile-1.2.0.min.js"></script> 
    <script type="text/javascript" charset="utf-8" src="cordova-2.4.0.js"></script> 
    <script type="text/javascript" charset="utf-8" src="main.js"></script> 
</head> 
<body> 
<form id="loginForm"> 
    <div data-role="fieldcontain" class="ui-hide-label"> 
     <input type="text" name="username" id="username" value="" /></div> 
    <div data-role="fieldcontain" class="ui-hide-label"> 
     <input type="password" name="password" id="password" value="" /></div> 
    <div data-role="fieldcontain" class="ui-hide-label"> 
     <select name="coursetype" id="coursetype"> 
      <option value="1">Type 1</option> 
      <option value="2">Type 2</option> 
     </select></div> 
    <!-- Below is 43th line --> 
    <input type="submit" value="Login" id="submitButton" onclick="handleLogin();" /> 
</form> 
</body> 

與適當的代碼過程中main.js

function handleLogin() { 
    var form = $("#loginForm"); 
    var u = $("#username", form).val(); 
    var p = $("#password", form).val(); 
    var t = $("#coursetype", form).val(); 
    if(u!= '' && p!= '' && t!= '') { 
     alert('Values are: ' +u+ ' & ' +p+ ' & ' +t); 
    } else { 
     alert('Field(s) were empty'); 
    } 
} 

點擊登錄按鈕它說以下內容:

Uncaught ReferenceError: handleLogin is not defined at file:///android_asset/www/index.html:43 

任何h elp將不勝感激。

+0

main.js與index.html位於同一個文件夾中?它不在js文件夾中?因此,你只是把錯誤的路徑。 – dan 2013-03-04 15:52:25

+0

@dan是的,'index.html'和'main.js'都在同一個文件夾 – Dozent 2013-03-04 22:35:09

+0

我知道這聽起來很奇怪,但試着將cordova腳本標記移動到最後。我注意到一些奇怪的行爲,取決於我在哪一部分加載cordova和其他腳本。 – jylauril 2013-03-05 01:27:07

回答

0

嘗試取出的onclick,而是有這樣的main.js

$('document').ready(function() { 
    $('#submitButton').on('click',function (e) { 
     e.preventDefault(); 
     var form = $("#loginForm"); 
     var u = $("#username", form).val(); 
     var p = $("#password", form).val(); 
     var t = $("#coursetype", form).val(); 
     if(u!= '' && p!= '' && t!= '') { 
      alert('Values are: ' +u+ ' & ' +p+ ' & ' +t); 
     } else { 
      alert('Field(s) were empty'); 
     } 
    }) 
}) 

我從來沒有真正信任的onclick,很多的原因,我認爲它可能是這個問題。

相關問題