Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Создание дубликата элемента (https://javascript.ru/forum/misc/45522-sozdanie-dublikata-ehlementa.html)

Sivik 06.03.2014 10:33

что-то никак не догоню.

вот пример кода:

<?php

$result = mail (
	"adress@email.ru", "Заголовок письма", 
	"Имя: $_POST[name] \n
	Фамилия: $_POST[lastName] \n
	Пол: \n $_POST[gender], $_POST[age] лет \n
	E-mail: $_POST[email]"
);

if ($result) {
	echo '<h3 align="center">Успешно.</h3>';
}
else {
	echo "<p>Ошибка.</p>";
}

?>


клонируется строка
Пол: \n $_POST[gender], $_POST[age] лет \n


не пойму, как туда прописать list с переменными. пробовал уже весь list со всем содержимым заключить в одну переменную, а её прописать в тело письма, но безуспешно.

danik.js 06.03.2014 11:40

Дык и я не пойму. У тя че - можно указать два-три (и более) возраста? Ведь $_POST['gender'] будет массивом.

Sivik 06.03.2014 12:43

danik.js,

да, селектов может быть несколько. число зависит от числа созданных клонов.

вот как выглядит в html:

<form action="form.php" method="post" id="form">
    <input name="name" type="text" required>
    <input name="lastName" type="text" required>

    <a href="javascript:cloneBlockPlus()"> + </a> <!-- кнопка клонирования блока с id="plus" -->

    <div id="plus">
        <select name="gender" required>
            <option selected >Пол:</option>
            <option value="муж.">Муж.</option>
            <option value="жен.">Жен.</option>
        </select>
        <input name="age" type="text" required>
    </div>

    <input name="email" type="text" required>
    <input name="button" type="submit" value="Отправить">
</form>

danik.js 06.03.2014 13:51

А где квадратные скобочки на конец? Должно быть name="gender[]" .
В PHP тебе нужно использовать функцию implode($_POST['gender'], ',') - чтоб соединить "полы" в строку через запятую. Не помню как использовать строковую интерполяцию в таких случаях. Так что лучше вынеси в переменную:
$genders = implode($_POST['gender'], ',');

mail(... "Пол: $genders ...");

Для уверенности сделай
echo '<pre>';
print_r($_POST);

Это выведет в читаемом виде содержимое POST'а.

Sivik 06.03.2014 13:54

danik.js,

спасибо огромное! в который раз подсказываешь)


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