Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.09.2009, 16:16
Аспирант
Отправить личное сообщение для sc2r2bey Посмотреть профиль Найти все сообщения от sc2r2bey
 
Регистрация: 27.06.2009
Сообщений: 60

помогите разобраться с формой
есть форма
<form action="index.php" method="post" >
<tr>
<td>материал</td>
<td>цена</td>
<td><input type="text" name="gramm" size="2" maxlength="2" /></td>
<td><input type="checkbox" name="material" value="0" /></td>
</tr>
<input type="submit" value="далее" />
</form>
как сделать неактивными по умолчанию input type="text", а становятся они активными, только после того как поставят галочку в input type="checkbox"? спасибо!

Последний раз редактировалось Octane, 01.09.2009 в 16:19. Причина: для оформления HTML-кода используется соответствующий bb-код [html]
Ответить с цитированием
  #2 (permalink)  
Старый 01.09.2009, 16:20
Отправить личное сообщение для Octane Посмотреть профиль Найти все сообщения от Octane  
Регистрация: 10.07.2008
Сообщений: 3,873

изменяйте свойство disabled:

inputElement.disabled = true;


в XHTML соответственно атрибут disabled:

<input type="text" disabled="disabled" />
Ответить с цитированием
  #3 (permalink)  
Старый 01.09.2009, 16:23
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

<form action="index.php" method="post" >
<tr>
<td>материал</td>
<td>цена</td>
<td><input type="text"  disabled="disabled" name="gramm" size="2" maxlength="2" /></td>
<td><input type="checkbox" name="material" onchange="chageBox(this)" value="0" /></td>
</tr>
<input type="submit" value="далее" />
</form>


function changeBox(ele){
  ele.form.gramm.disabled=(!ele.checked);
}

Последний раз редактировалось B~Vladi, 01.09.2009 в 16:26.
Ответить с цитированием
  #4 (permalink)  
Старый 01.09.2009, 17:34
Аспирант
Отправить личное сообщение для sc2r2bey Посмотреть профиль Найти все сообщения от sc2r2bey
 
Регистрация: 27.06.2009
Сообщений: 60

не работает
Ответить с цитированием
  #5 (permalink)  
Старый 01.09.2009, 17:35
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Я не тестил.
Попробуй с onclick
Ответить с цитированием
  #6 (permalink)  
Старый 01.09.2009, 17:37
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

Не, всё ок, просто опечатка:
<input type="checkbox" name="material" onchange="changeBox(this)" value="0" />

Ну такие то вещи можно наверно заметить?!
Ответить с цитированием
  #7 (permalink)  
Старый 01.09.2009, 17:46
Аспирант
Отправить личное сообщение для sc2r2bey Посмотреть профиль Найти все сообщения от sc2r2bey
 
Регистрация: 27.06.2009
Сообщений: 60

теперь да спасибо, а если material и gramm это массивы, т.е. material[] и gramm[] как в этой ситуации заставить работать эту конструкцию?

у меня вот так выводится форма
Цитата:
while ($material_select = mysql_fetch_assoc($material_query))
{
echo "<tr>
<td>".htmlspecialchars ( $material_select['material'] )."</td>
<td align=\"center\">".htmlspecialchars ( $material_select['price'] )."</td>
<td align=\"center\"><input type=\"text\" name=\"gramm[]\" size=\"2\" maxlength=\"2\" /></td>
<td align=\"center\"><input type=\"checkbox\" name=\"material[]\" value=\"".htmlspecialchars ( $material_select['id'] )."\" /></td>
</tr>";
}

Последний раз редактировалось sc2r2bey, 01.09.2009 в 17:49.
Ответить с цитированием
  #8 (permalink)  
Старый 01.09.2009, 17:50
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

По-точнее логику, пожалуйста.
Имеется ввиду, что имена чекбоксов - material[], а полей gramm[]? Тогда по какому принципу вкл/откл поля?!
Ответить с цитированием
  #9 (permalink)  
Старый 01.09.2009, 17:53
Аспирант
Отправить личное сообщение для sc2r2bey Посмотреть профиль Найти все сообщения от sc2r2bey
 
Регистрация: 27.06.2009
Сообщений: 60

Сообщение от B~Vladi Посмотреть сообщение
Имеется ввиду, что имена чекбоксов - material[], а полей gramm[]?
да.
те, которые получаются в одноименном проходе цикла
Ответить с цитированием
  #10 (permalink)  
Старый 01.09.2009, 18:03
Аватар для B~Vladi
Модератор Всея Форума
Отправить личное сообщение для B~Vladi Посмотреть профиль Найти все сообщения от B~Vladi
 
Регистрация: 14.05.2009
Сообщений: 4,021

function changeBox(ele){
	for(var i=0;i<document.forms.form['gramm[]'].length;i++){
		document.forms.form['gramm[]'][i].disabled=(!document.forms.form['material[]'][i].checked);
	}
}

Здесь в
document.forms.form

form-имя формы:
<form action="index.php" method="post" name="form" >
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите разобраться с Dojo greendoc Dojo toolkit 4 13.10.2011 18:19
Помогите разобраться с кодом. TheWanderer Общие вопросы Javascript 10 17.04.2010 13:41
Форма отправки сообщения в скрипте отдельного окна I-love_Chicago Элементы интерфейса 10 30.08.2009 23:16
Помогите разобраться со скриптом! Чайник Элементы интерфейса 1 13.03.2009 23:57
Помогите разобраться с проблемой SergeiAzarov (X)HTML/CSS 0 28.03.2008 18:51