0

我正在使用MVC 3 Razor,並且在PartialView [我將其顯示爲彈出窗口]中有一個簡單窗體。部分功能在PartialView中無法正常工作。例如自動對焦屬性。使用MVC3自動對焦在局部視圖內的窗體中無法工作Razor

@Html.TextBoxFor(model => model.Code, new { style = "width:50px", maxlength = 4, autofocus = "" }) 

我試圖通過設置jQuery腳本的焦點,但不工作的。

$('#Code').focus(); 

我錯過了什麼嗎?我是否必須在部分視圖中導入一些腳本才能使其工作?

任何幫助是極大的讚賞。

在此先感謝。

更新:

我發現這個問題......我加載窗口,然後顯示的700毫秒的延遲之後。我註釋了setTimeout行,它工作。它必須是焦點在表單加載時才起作用,但是當我實際執行「open()」時,焦點再次失去焦點。

前面的代碼

function openWindow(url, title) { 
    var window = $("#Window").data("tWindow"); 
    window.ajaxRequest(url); 
    window.title(title); 
    setTimeout(showWindow, 700); 
} 

function showWindow() { 
    var window = $("#Window").data("tWindow"); 
    window.open().center(); 
} 

新代碼

function openWindow(url, title) { 
    var window = $("#Window").data("tWindow"); 
    window.ajaxRequest(url); 
    window.title(title).open().center();; 
//setTimeout(showWindow, 700); 
} 

謝謝大家對您的回覆。希望它能幫助別人。

+0

是您JS在你的彈出窗口?它是iFrame還是inline? – Paul 2012-02-01 00:32:56

+0

我實際上除了$('#Code')之外沒有任何腳本。是的,我在PartialView本身有這個腳本..我正在使用Telerik的窗口並從部分視圖加載內容。 – Max 2012-02-01 00:41:39

+0

檢查你的js是否正在加載使用提琴手或螢火蟲 – HaBo 2012-02-01 00:43:17

回答

0

試試這個代碼:

function openWindow(url, title) { 
    var window = $("#Window").data("tWindow"); 
    window.ajaxRequest(url); 
    window.title(title).open().center(); 
    //call after the content has been loaded from the Ajax request 
    document.getElementById('Code').focus(); 
} 
+0

嗨保羅,我試過你的代碼,但它說focus()是未定義的。 – Max 2012-02-01 00:58:22

+0

我有雙重檢查所有的JS文件。 Max 2012-02-01 00:59:34

+0

我需要看你的代碼。你是使用'LoadContentFrom()'方法,還是僅僅在Content()方法中渲染'@ Html.Partial(「view」)'? – Paul 2012-02-01 01:14:25

相關問題