2012-12-04 45 views
0

我有一個MVC視圖,當我在視圖中使用表單sumbit函數時,它的工作正常。但是當我把我的代碼insde js文件它停止工作表單提交jQuery函數不能在js文件中工作

這是爲什麼?有沒有解決方案?

<script type="text/javascript" src="@Url.Content("~/Scripts/site/js.js")" ></script> 
@using(Html.BeginForm("Index" , "Sample" , FormMethod.Post , new { id = "frm" })) 
{ 
    <div> 
     <p> 
      <input type="text" id="username" name="username" /> 
     </p> 
     <input type="submit" value="Save" /> 
    </div> 
    <script type="text/javascript"> 
     $('form').submit(function() // or $('#frm').submit 
     { 
      alert('1'); 
      return false; 
     }); 
    </script> 
} 
+0

你是什麼意思「它不工作」? –

+0

@AaronKurtzhals:我的意思是它沒有被解僱。並且** alert('1')**不顯示 – Raika

+0

您發佈的代碼示例是否工作?另外,你會發布其他工作/非工作代碼示例嗎?而且,你使用asp.net mvc嗎? –

回答

1

在您的外部文件中,嘗試將其包裝在$(document).ready();調用中。所以

$(document).ready(function() { 
    $('#frm').submit(function() 
     { 
      alert('1'); 
      return false; 
     }); 
    }); 

此外,我認爲這是顯而易見的,但也刪除內聯JS,當使用外部js。 :-)

+0

我問這個問題,刪除內聯js – Raika

+2

我很抱歉,這對我沒有任何意義。我的文章的目標是指出你應該嘗試在外部javascript中使用'$(document).ready();'。此外,如果您使用的是外部JavaScript文件,那麼您需要確保刪除了內嵌JavaScript以避免衝突/清潔。合理? – jchapa

+0

我想刪除我的視圖中的任何js,只使用我的外部js文件。如果我說錯了對不起。其對我的英語不好 – Raika