2014-04-10 103 views
1

我的HTML是形式提交的javascript不工作

<form id="login" class="ui-body ui-body-a ui-corner-all" data-ajax="false" method="post" > 
       <fieldset> 
        <div data-role="fieldcontain"> 
         <label for="username">Usuario :</label> 
         <input type="text" value="" name="username" id="username"/> 
        </div>         
        <div data-role="fieldcontain">          
         <label for="password">Contraseña:</label> 
         <input type="password" value="" name="password" id="password"/> 
        </div> 
        <input type="submit" data-theme="b" name="submit" id="submit" value="Login"> 
       </fieldset> 

      </form> 

,我的JavaScript是

$("#login").submit(function(){ 
alert("OK"); 
} 

,但它無法正常工作。

我在http://jsfiddle.net/w2Sqs檢查和它的作品,但在我的網站不!

有什麼想法?

感謝

+3

你的jsfiddle鏈接是空的。此外,什麼不工作?你的預期產出是多少?你目前的結果是什麼?不工作你的意思是沒有戒備?或者表單不提交? – MJoraid

+1

您是否包含jQuery核心庫? – hjpotter92

+0

您在瀏覽器的控制檯中是否有錯誤? –

回答

1

你可能會引用您的形式還爲時過早。如果您在加載之前嘗試並引用DOM元素,那麼它將無法將偵聽器附加到它。

相反,要麼把選擇下方的表格:

<body> 
     <form id="login" method="post"> 
     <input type="text" name="user"> 
     <input type="submit" value="send"> 
     </form> 
     <script> 
     $("#login").submit(function() { 
      alert("ok"); 
     }); 
     </script> 
    </body> 

,或者確保DOM被完全加載使用jQuery ready東西(此代碼可以在<head>節去):

 $(function() { 
     $("#login").submit(function() { 
      alert("ok"); 
     }); 
    }); 
+0

不錯!!!!! THanksssss – luisbg

+0

@luisbg沒問題,JSFiddle通常會導致所有代碼在DOM完成加載後運行,這就是爲什麼它在小提琴上工作的原因,但不是每當你單獨運行它時。我偶爾碰到了這個。 – zero298

+0

謝謝堆!徘徊在這附近.. – Anupam

-1

嘗試添加事件到您提交功能

$(#id).submit(function(event){}); 
+0

不工作,$(「#登錄」)。提交(功能(事件){ 警報(「嘿,誰點了我?」) ; }); – luisbg

+0

正如上面的評論所指出的那樣,你的jquery如何包含外觀? – user3520550

+0

\t luisbg