Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Вывод выбранных данных и проверка checkbox (https://javascript.ru/forum/css-html/21878-vyvod-vybrannykh-dannykh-i-proverka-checkbox.html)

MasterHrust 28.09.2011 12:18

Вывод выбранных данных и проверка checkbox
 
Здравствуйте!
Помогите решить 2 вопроса.
1).
У меня в online-калькуляторе есть выбор пользователю дверей.
Двери выбираются при помощи select и checkbox.
Вывод полей я сделал сам, а вот как сделать чтобы пользователь видел при выводе отчета, какие двери он выбрал.
Вот пример кода:
<tr>
<td>Цвет обрамления двери *:</td>
<td><select id='color' name="color">
<option value="0">Выбрать</option>
<option value="80">Серебро</option>
<option value="80">Золото</option>
<option value="80">Шампань</option>
<option value="80">Под дерево</option></td>
</tr>
<tr>
<td>Замер и выбор материалов:</td>
<td><input type="checkbox" id='zamer' name="zamer" checked value="4"></td>
</tr>


Например вот этих 2 значения.

Вывод:

Вы выбрали:
Цвет обрамления двери: Золото
Замер и выбор материалов: Да

Остальное я думаю по аналогии смогу сделать.

2).
Как сделать проверку checkbox'a.
Например:
Если checkbox отмечен, то считать его значение 4.
Если checkbox не отмечен, то считать его значение 0.

Спасибо.

Триви 28.09.2011 12:27

Цитата:

Сообщение от MasterHrust (Сообщение 128374)
Как сделать проверку checkbox'a.
Например:
Если checkbox отмечен, то считать его значение 4.
Если checkbox не отмечен, то считать его значение 0.

Спасибо.

<input type="checkbox" id="zamer" />

<script type="text/javascript">
document.getElementById('zamer').onclick = function () {
  if (this.checked) alert('On'); else alert('Off');
}
</script>


пи.си. а вообще для этого используют radio

ksa 28.09.2011 15:52

Цитата:

Сообщение от MasterHrust
Помогите решить 2 вопроса.

Сколько платишь?

melky 28.09.2011 17:44

Цитата:

Сообщение от MasterHrust (Сообщение 128374)
Здравствуйте!
Помогите решить 2 вопроса.
1).
У меня в online-калькуляторе есть выбор пользователю дверей.
Двери выбираются при помощи select и checkbox.
Вывод полей я сделал сам, а вот как сделать чтобы пользователь видел при выводе отчета, какие двери он выбрал.
Вот пример кода:
<tr>
<td>Цвет обрамления двери *:</td>
<td><select id='color' name="color">
<option value="0">Выбрать</option>
<option value="80">Серебро</option>
<option value="80">Золото</option>
<option value="80">Шампань</option>
<option value="80">Под дерево</option></td>
</tr>
<tr>
<td>Замер и выбор материалов:</td>
<td><input type="checkbox" id='zamer' name="zamer" checked value="4"></td>
</tr>


Например вот этих 2 значения.

Вывод:

Вы выбрали:
Цвет обрамления двери: Золото
Замер и выбор материалов: Да

Остальное я думаю по аналогии смогу сделать.

может, форму стоило бы показать?
и когда и где будет выводиться отчёт ?

я сделал в алерте. для любых элементов формы, за исключением file.
<form>
<table>
    <tr>
<td>Цвет обрамления двери *:</td>
<td><select id='color' name="color">
<option value="0" disabled>Выбрать</option>
<option value="80" selected>Серебро</option>
<option value="80">Золото</option>
<option value="80">Шампань</option>
<option value="80">Под дерево</option></select>
</td>
</tr>
<tr>
<td>Замер и выбор материалов:</td>
<td><input type="checkbox" id='zamer' name="zamer" checked value="4"></td>
</tr>
<tr>
<td>Радио:</td>
<td><input type="radio" name="xynta" value="atmta" checked><input type="radio" name="xynta" value="herna"></td>
</tr>
<tr>
<td>О себе расскажите:</td>
<td><textarea>не хочу</textarea></td>
</tr>  
<tr>
<td>Ваше имя :</td>
<td><input value="максимка"></td>
</tr>   
</table>
</form>
    
    <button id="a">отчёт</button>

<script>
// заюзал телепатию
var form = document.getElementById("zamer").form;

function makeRes(){
    //формирование отчёта
    var res = [];
    for(var i=0,el,value;el=form[i++];){

        value = " : ";
        
        if(~el.type.indexOf("select"))
            value += el[ el.selectedIndex ].text;
        else if(el.type=="checkbox")
            value += el.checked?"Да":"Нет";
        else if(el.type=="radio")
            if(el.checked)
                value+=el.value;
        else 
            continue;
        else
            value += el.value;
        
        el=el.parentNode.previousSibling;
        while(el&&el.tagName!="TD") 
            el=el.previousSibling; 
        
        value=el.innerHTML + value;
        res.push(value);
    }
    res=res.join("\n");
    
    // вывод отчёта
    alert( res );

};

document.getElementById("a").onclick = makeRes;
</script>



Цитата:

Сообщение от MasterHrust (Сообщение 128374)
2).
Как сделать проверку checkbox'a.
Например:
Если checkbox отмечен, то считать его значение 4.
Если checkbox не отмечен, то считать его значение 0.
Спасибо.

посмотреть , отмечен ли чекбокс, можно в свойстве checked.
mychbx.*!*checked*/!* // true или false


Часовой пояс GMT +3, время: 05:25.