|
05.03.2014, 11:43
|
|
Профессор
|
|
Регистрация: 27.05.2010
Сообщений: 33,127
|
|
Sivik,
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<form id="id1">
<select name="name1">
<option value="1">вариант 1</option>
<option value="2">вариант 2</option>
<option value="3">вариант 3</option>
</select>
</form>
<script>
var clone = document.getElementById('id1').cloneNode(true),
options= clone.getElementsByTagName('select')[0].options;
options[0].text = "НЕ вариант";
document.body.appendChild(clone)
</script>
</body>
</html>
|
|
05.03.2014, 11:45
|
|
Интересующийся
|
|
Регистрация: 19.01.2014
Сообщений: 20
|
|
danik.js, нет, не всё) дело в том, что атрибутов может быть намного больше, которые надо клонировать. а, например, name нужен другой.
к примеру для отправки данных по php. если у старого селекта и его клона будет одинаковый нейм, а человек выберет разные опшны, то очевидно, что опшн второго селекта будет игнорирован. отправится лишь значение опшна первого селекта.
|
|
05.03.2014, 11:49
|
|
Тлен
|
|
Регистрация: 02.01.2010
Сообщений: 6,590
|
|
var clone = form.cloneNode(true);
clone.firstElementChild.name = 'new-name';
//или
clone.getElementsByTagName('select')[0].name = 'new-name';
//и т.д.
__________________
29375, 35
|
|
05.03.2014, 11:52
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от Sivik
|
отправится лишь значение опшна первого селекта
|
Дык они же в разных формах - как ты их отправишь одновременно?
А если в одной, то почему бы не назвать name="name[]", и на сервак (по крайней мере в PHP и вроде бы в ASP) придет массив значений?
__________________
В личку только с интересными предложениями
|
|
05.03.2014, 11:56
|
|
Интересующийся
|
|
Регистрация: 19.01.2014
Сообщений: 20
|
|
рони, Aetae,
да да) именно так)
|
|
05.03.2014, 11:58
|
|
Интересующийся
|
|
Регистрация: 19.01.2014
Сообщений: 20
|
|
Сообщение от danik.js
|
Дык они же в разных формах - как ты их отправишь одновременно?
А если в одной, то почему бы не назвать name="name[]", и на сервак (по крайней мере в PHP и вроде бы в ASP) придет массив значений?
|
до этого я, к сожалению, ещё не дошёл(
фактически, JS начал разбирать чуть больше месяца назад. до этого лишь знал операторы if, else. и всё.
|
|
05.03.2014, 12:25
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Сообщение от Sivik
|
фактически, JS начал разбирать
|
А причем тут JS? Я про PHP говорю. На сервере че у тя?
__________________
В личку только с интересными предложениями
|
|
05.03.2014, 12:36
|
|
Интересующийся
|
|
Регистрация: 19.01.2014
Сообщений: 20
|
|
Сообщение от danik.js
|
А причем тут JS? Я про PHP говорю. На сервере че у тя?
|
да я вообще чайник)) из php собирал только отправку формы на почтовый адрес. ну и внешний вид окна результата. типа "письмо отправлено".
так что я нулейший нуль и вопроса даже не понял))
хочу сначала довести знания в js до приемлемого уровня, а потом за php браться. а то чтоб не было каши в голове от всего сразу
|
|
05.03.2014, 12:46
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Да блин. Просто вместо:
$name1 = $_POST['name1'];
$name2 = $_POST['name2'];
напиши:
list($name1, $name2) = $_POST['name'];
А в html вместо name="name1" name="name2" просто пиши name="name[]"
__________________
В личку только с интересными предложениями
|
|
05.03.2014, 12:52
|
|
Интересующийся
|
|
Регистрация: 19.01.2014
Сообщений: 20
|
|
Сообщение от danik.js
|
Да блин. Просто вместо:
$name1 = $_POST['name1'];
$name2 = $_POST['name2'];
напиши:
list($name1, $name2) = $_POST['name'];
А в html вместо name="name1" name="name2" просто пиши name="name[]"
|
оу, спасибо) сейчас же опробую)
|
|
|
|