Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: JS: Отобразить аргумент функции в виде имени checkbox

Сообщения:  [1-5] 

 
 автор: Я   (18.08.2006 в 14:18)   письмо автору
 
   для: RMW   (18.08.2006 в 14:12)
 

Всё работает!
Огромное Вам всем спасибо!!!

   
 
 автор: RMW   (18.08.2006 в 14:12)   письмо автору
 
   для: Я   (18.08.2006 в 12:22)
 

Можно так:

function Check(num,val) { 

if (num.checked=="1") {
document.form1.j.value=parseInt(document.form1.j.value)+val;

if (num.checked==false) { 
document.form1.j.value-=val; 

}

Только при передаче в функцию чисел кавычки не ставьте
onclick='Check(this,3)'
Если нужны кавычки, val также нужно будет
привести к числу
val=parseInt(val);
или
val-=0;

   
 
 автор: Я   (18.08.2006 в 12:22)   письмо автору
 
   для: RMW   (18.08.2006 в 12:01)
 

Спасибо большое! теперь буду знать!

Но в этом же скрипте есть еще одна ошибка (или не ошибка), но вместо сложения происходить конкантенация цифр, т.е. при нажатии на checkbox (ip) появляется 3 , а при последующем нажатии на checkbox (up) получается не 8, а 35.
Может надо использовать не += , а что-то другое?

   
 
 автор: RMW   (18.08.2006 в 12:01)   письмо автору
 
   для: Я   (18.08.2006 в 09:39)
 


if (document.form1[num].checked=="1") {
...

или

<SCRIPT>
function Check(num,val) {

if (num.checked=="1") {
document.form1.j.value+=val;
}
if (num.checked==false) {
document.form1.j.value-=val;
}
}
</SCRIPT>
<FORM NAME="form1">
<input type="checkbox" name="ip" value="3" onclick='Check(this,"3")'>
<input type="checkbox" name="up" value="5" onclick='Check(this,"5")'>
<input type=text name="j" value=0>
</FORM>

В первом случае num это элементарный тип - строка,
во втором - объект (вернее ссылка на объект).

   
 
 автор: Я   (18.08.2006 в 09:39)   письмо автору
 
 

Доброго времени суток!

Я почти ничего не понимаю в JS, но срочно нужно дописать скрипт следующего состава:
10 checkbox (каждый имеет свое имя) и одна функция check().
Мне надо, чтобы при нажатии на checkbox число в теге <input type=text> менялось (при true '+', при false '-'). Насколько я понимаю, чтобы считать value у checkbox, нужно прописать: document.formName.CHECKBOXNAME.value - но не буду же я писать 10 функций (для каждого checkbox)

Скрипт пишу такой (нормально НЕ работает)
<SCRIPT>
function Check(num,val) {

if (document.form1.num.checked=="1") {
document.form1.j.value+=val;
}
if (document.form1.this.num.checked==false) {
document.form1.j.value-=val;
}
}
</SCRIPT>
<FORM NAME="form1">
<input type="checkbox" name="ip" value="3" onclick='Check("ip","3")'>
<input type="checkbox" name="up" value="5" onclick='Check("up","5")'>
<input type=text name="j" value=0>
</FORM>

Буду очень признателен, если кто-нибудь мне поможет!

   

Сообщения:  [1-5] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования