2014-12-02 75 views
0

我正在使门户可访问。为此,需要使动态内容成为可聚焦的。在登录页面中,身份验证错误是动态内容,在需要时无法获得焦点。编码是在剃刀引擎C#为错误消息创建一个可访问的对话框

@if (TempData["error"] != null) 
{ 
@Html.Raw(Resources.Strings.ResourceManager.GetString(TempData["error"].ToString())) 
} 

其中p =“身份验证失败。重新输入您的证书。”

在其他的尝试我已经把它在警告框像这个 -

@if (TempData["error"] != null) 
{ 
<script> alert("'[email protected](Resources.Strings.ResourceManager.GetString(TempData["error"].ToString())) +'"); 
</script> 
} 

但没有超出我的期望,我需要进行自定义。所以我正在寻找提供自定义弹出框代替这个的答案。

有没有什么办法可以通过将错误消息放在某个对话框的形式中来关注它。或者显示可聚焦的错误消息的任何其他方式。

+0

可以使用.focus()jQuery中,以达致这: http://api.jquery.com/focus/ – 2014-12-02 16:27:51

+0

我已经使用.focus ...但它没有按照我的预期工作。 (TempData [“error”]!= null) { }但它不符合我的期望我需要定制它。所以我正在寻找提供自定义弹出框代替这个的答案。 – Sushy 2014-12-02 18:27:20

+0

如果你想要一个对话框,请更新问题(和标题)以反映新的需求。您需要查看[HTML5'

'元素](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog#Browser_compatibility),或[jQuery UI的'对话框'小部件](http://jqueryui.com/dialog/)或其他一些第三方控件。就目前来看,这个问题可能被认为过于宽泛,或缺乏研究。 – 2014-12-02 20:54:31

回答

0

如果你想要更多的控制,你可以使用,jQuery UI的但它再次与文件大小有时没有必要,而且有更多的控制和轻松的感觉

function openConfirm() { 
    var html = '' 
     + '<div id="dvConfirm">' 
     + '<div class="editor-main">' 
     + ' <h6>' 
     + '  @Html.Raw(TempData["error"].ToString())' 
     + ' </h6>' 
     + '</div>' 
     + '<p class="continue_userprof">' 
     + ' <input type="submit" value="Continue" onclick="onConfirmClick();" />' 
     + '</p>' 
     + '</div>'; 

    var div = $(html); 


    div.dialog({ 
     title: "Title", 
     close: destroy_this_dialog, 
     height: 245, 
     width: 420, 
     modal: true, 
     draggable: true 
    }); 

    function destroy_this_dialog(event, ui) { 
     $(this).dialog("destroy"); 
     $(this).remove(); 
    } 
} 
+0

谢谢brykneval的答案...我会尝试使用它到我的代码中,并让我呃...再次感谢... – Sushy 2014-12-04 20:23:40