2010-10-26 150 views
0

我正面臨一個令我瘋狂的問題。我有一個asp .net mvc頁面(.ascx)。這個視圖有一個可以被ajax提交給控制器動作的表單。我有一個提交表單的ajax提交按鈕。asp .net mvc ajax提交

在視圖中我有一些,如果條件如下

 
If(Model.SampleID.HasValue) 
{ 
    
    alert('sample created'); 
    alert(''); 
    
} 

此代碼工作正常時,我打了ajax提交按鈕,我的意思的JavaScript被執行。但是當我按下回車鍵時,會發生同樣的帖子,但JavaScript代碼根本不會執行。我不知道爲什麼會發生這種情況。

任何想法或意見?

+1

也許你可以發佈包含您的形式和更小的jQuery的 – 2010-10-26 15:49:08

回答

0

只是一個想法。可能是因爲你的ajax提交按鈕只能綁定到click事件。如果是這樣,你將不得不將它綁定到按鍵事件。更好的是你發佈的HTML。

0

把下面的代碼在的document.ready()函數

$("input").keydown(function(e){ 
    if(e.which==13) 
    { 
     //Your Submit Method 
    } 
}); 
+0

的這是不好的做法在html 。如果他們選擇按鈕並按下空格鍵怎麼辦?這將失敗並且不處理所有情況。 – 2011-11-28 20:29:34

0

我打算從誰張貼,說你要綁定的jQuery的錯誤您的表單提交別人不同,你需要重做。 不要綁定鼠標點擊按鈕和不要檢查keydowns。

而是,窗體有一個可以綁定到的submit事件。他們是否點擊提交按鈕,按回車鍵或選項卡到按鈕並按空格鍵都無關緊要。綁定正是如此:

$('#yourformcontainer form').submit(function() { 
    //Your custom submit code here 
    //return false if you want to abort the form submission, true (or nothing) otherwise 
}); 

這使得你的HTML表單呈現這樣的假設:

<div id="yourformcontainer"> 
    <form> 
     ... 
     <input type="submit" value="submit" /> 
    </form> 
</div>