2013-10-25 2 views
0

Я пытаюсь использовать JavaScript, чтобы сделать фокус на текстовом поле. Но он не работает. Пожалуйста, расскажите способ использования focus() и установите для него значение null.Использование focus() в JavaScript

Сценарий:

<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" });

+0

В случае чего вы хотите, чтобы установить фокус. – Jenz

+1

Не могли бы вы показать сгенерированный HTML? –

+1

Вы уверены, что 'message ==" Код продукта уже выйдет. "' Return 'true'? – Grundy

ответ

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(); 
} 
+0

'$ (" # Item_Code "). Val();' не назначать пустую строку для ввода – Grundy

+0

@Grundy добавил отсутствующий "" :) – Rex

1

Код для фокуса() в JavaScript, является:

var message="message"; 
if(message=="") 
{ 
    document.getElementById("Item_Code").focus(); 
    document.getElementById("Item_Code").value==""; 
} 
+0

Я использую этот метод, но он не фокусируется на этом текстовом поле –

+0

Только focus() is проблема. Установка нулевого значения работает нормально? – Jenz

+0

Я хочу сделать фокус(), чтобы работать, я не проверяю, что –

0

Попробуйте использовать JQuery это проще и чистый

<script type="text/javascript"> 
$(document).ready(function() { 
    $(function() { 
     $('#Item_Code').focus(); 
    }); 
}); 
</script> 
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") возвратного нуля, поскольку элемент с этим идентификатором еще не было вынесено

для решают поместить код

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(); 
      } 
     });