2010-12-27 2 views
1

У меня есть этот кодОбязательно текстовое поле в JavaScript

$(document).ready(function() { 
     $("#<%= chkSpecialIntegration.ClientID %>").click(function() { 
      if (this.checked) { 
       document.getElementById('<%=ddlTypeSpecialIntegration.ClientID %>').style.visibility = 'visible'; } 
    }); 
    }); 

Когда это не будет установлен, то текстовое поле, больше не требуется. Как я могу это сделать?

+7

Не понимаю. Вы можете уточнить? –

+1

Обновлено с тем, что я думаю, вопрос. – NotMe

+0

Просто мысль, но если вы разместите фактический jQuery/JavaScript, как видно в браузере, вопрос может иметь больше смысла. Конечно, это помогло бы, если бы вы могли разместить соответствующий (x) html и четко сформулировать свой вопрос. –

ответ

0

Если все, что вам нужно сделать, это сделать ddlTypeSpecialIntegrationvisible когда chkSpecialIntegration проверяется, вы можете просто сделать:

$(document).ready(function() { 
     $("#<%= chkSpecialIntegration.ClientID %>").toggle(function() { 
      $("#<%= ddlTypeSpecialIntegration.ClientID %>").show(); 
    }, function() { 
      $("#<%= ddlTypeSpecialIntegration.ClientID %>").hide(); 
}); 
    }); 
+0

но как я могу сделать текстовое поле required = "true" –

+0

Хорошо, тогда я не понимаю вопрос в конце концов. Можете ли вы показать разметку для текстового поля? Что именно ты пытаешься сделать? – Marcie

0

Есть два способа, что HTML текстовое поле может быть принужден требуется. Вы должны реализовать оба.

Первый заключается в проверке данных перед отправкой формы. Вы можете выполнить это в javascript, подключившись к событию onsubmit. Пример: http://www.w3schools.com/js/js_form_validation.asp

Внутри этого метода вам нужно будет проверить, выбран ли ваш флажок. Если это не так, посмотрите, набрали ли они что-то в вашем текстовом поле.

Второе - проверить его на стороне сервера после отправки формы. Для этого вы можете просто предоставить некоторый код проверки в методе onclick на стороне сервера вашей кнопки.

Я говорю, чтобы реализовать оба, потому что вы захотите обеспечить немедленную обратную связь, когда что-то потребуется на стороне клиента, и вы хотите принудительно выполнить ее на стороне сервера в случае, если javascript отключен.

Конечно, если JS выключен, они, вероятно, никогда не увидит текстовое поле для начала.

0

Зачем вам нужен JS?

Разве это не так?

<input<% if some_condition %> required="required"<% endif %> name="field" /> 
0

Дайте идентификатор для текстового поля как

<%: Html.TextBoxFor(model => model.FirstName, new { @tabindex = "1", maxlength = "50" ,id="Name"})%> 

$ (документ) .ready (функция() {

$("#<%= chkSpecialIntegration.ClientID %>").click(function() { 
     if (this.checked) { 
      document.getElementById('<%=ddlTypeSpecialIntegration.ClientID %>').style.visibility = 'visible'; 

$ ("# Name") скрыть;.

} }); });