0

我正在尝试使用 JavaScript 将焦点放在文本框上。但它不起作用,请告诉使用 focus() 的方法并为该文本框设置空值。

脚本:

<script type="text/javascript">
$(document).ready(function () 
{
   var str = ('@ViewData["ControlView"]'); //alert(str);
   if (str == "1")
       ShowProduct();
   else
       ShowGrid();
});
var message = ('@ViewData["Success"]');
if (message == "Product Code Already Exits.")
{
   document.getElementById("Item_Code").value ="";
   document.getElementById("Item_Code").focus();
}

看法:

@Html.TextBox("Item_Code", "", new { @Maxlength = "10", id = "Item_Code" });

4

4 回答 4

1

Javascript中focus()的代码是:

var message="message";
if(message=="")
{
    document.getElementById("Item_Code").focus();
    document.getElementById("Item_Code").value=="";
}
于 2013-10-25T06:24:15.370 回答
0

尝试使用 jQuery,它更容易更干净

<script type="text/javascript">
$(document).ready(function () {
    $(function () {
        $('#Item_Code').focus();
    });
});
</script>
于 2013-10-25T06:27:08.623 回答
0

在这个脚本块中

<script type="text/javascript">
    $(document).ready(function () 
    {
        var str = ('@ViewData["ControlView"]'); //alert(str);
        if (str == "1")
            ShowProduct();
        else
            ShowGrid();
    });

    var message = ('@ViewData["Success"]');
    if (message == "Product Code Already Exits.")
    {
        document.getElementById("Item_Code").value ="";
        document.getElementById("Item_Code").focus();
    }

声明和使用消息变量和document.getElementById函数调用不在ready函数中,因此如果在此之后声明您的文本框,则在调用中document.getElementById("Item_Code")返回 null,因为尚未呈现具有此 ID 的元素

用于解决放置代码

    var message = ('@ViewData["Success"]');
    if (message == "Product Code Already Exits.")
    {
        document.getElementById("Item_Code").value ="";
        document.getElementById("Item_Code").focus();
    }

ready这样的功能中:

        $(document).ready(function () 
        {
            var str = ('@ViewData["ControlView"]'); //alert(str);
            if (str == "1")
                ShowProduct();
            else
                ShowGrid();

            var message = ('@ViewData["Success"]');
            if (message == "Product Code Already Exits.")
            {
                document.getElementById("Item_Code").value ="";
                document.getElementById("Item_Code").focus();
            }
        });
于 2013-10-25T08:42:04.597 回答
0

jQuery解决方案

<script type="text/javascript">
$(document).ready(function () 
{
   var str = ('@ViewData["ControlView"]'); //alert(str);
   if (str == "1")
       ShowProduct();
   else
       ShowGrid();
});
var message = ('@ViewData["Success"]');
if (message == "Product Code Already Exits.")
{
  $("#Item_Code").val("");
  $("#Item_Code").focus();
}
于 2013-10-25T08:44:56.490 回答