Помогите с Javascript
676 повідомлень
#12 років тому
У меня под каждой страницей вакансии есть форма обратной связи в автором вакансии.Но изначально поле с адресом получателя пустое. Я с помощью ссылки
<a href="?job=***">Написать письмо</a>
передаю параметр с адресом почты. Все отлично, работает. Но если пользователь не кликнет по ссылке "Написать письмо", а сразу перейдет к форме, то в итоге сообщение никуда не отправится, т.к. поле получателя будет пустое.
Я решил скрыть форму обратной связи и открывать его только по ссылке, которое содержит параметр адреса почты. Но href с onclick не работает. Как мне при раскрытии форму добавить ещё значение href?
<a class="hideBtn" href="?job=***" onclick="$('#hideCont1').slideToggle('normal');return false;">Показать скрытую форму</a>
<div style="display:none;" id="hideCont1" class="hideCont">
Скрытая форма
</div>
6863 повідомлення
#12 років тому
Штаны через голову... Не работает, потому что onclick="$('#hideCont1'


И вообще, такой кривой велосипед себе представить сложно. Что мешает передать адрес в скрытом инпуте?
676 повідомлень
#12 років тому
Проблема в том, что я не знаю как автоматически подставить адрес получателя, а только через передачу параметра GET
676 повідомлень
#12 років тому
Можно сделать форму обратной связи на отдельной странице и передавать адрес через параметр. Но хотелось бы форму на странице материала иметь
6863 повідомлення
#12 років тому
Цитата ("Bob301"):Проблема в том, что я не знаю как автоматически подставить адрес получателя, а только через передачу параметра GET
Простите... это звучит очень странно... А форму вы как используете???
6863 повідомлення
#12 років тому
Bob301,
<a href="?job=***">Написать письмо</a> -- $_GET
<input type="hidden" name="job" value="***"> -- $_POST или $_GET, в зависимости от метода формы.
Не?
676 повідомлень
#12 років тому
Пробовал с помощью функции подставлять значение.function mymodule_form_alter(&$form, $form_state, $form_id) {
if ($form_id == 'webform_client_form_8') {
if ($node = menu_get_object()) {
$form = $node->field_email;
}
}
}
Значение прекрасно подставляется, но после отправки получаю ошибку
Цитата:
Notice: Undefined property: stdClass::$field_email в функции mymodule_form_alter() (строка 6 в файле Z:\home\iglan\www\sites\all\modules\mymodule\mymodule.module).
и в итоге ничего не отправляется
402 повідомлення
6863 повідомлення
#12 років тому
Bob301, 
Тока помидоры не кидайте

676 повідомлень
#12 років тому
Цитата ("tarakan_"):$('input'.val('***'
;
ну в качестве костыля, вставить в любом месте
Что-то я не понял как это работает
У меня вот такой вид поля
<input id="edit-submitted-email-author--4" class="email form-text form-email required" type="email" size="60" name="submitted">
676 повідомлень
#12 років тому
Цитата ("floppox"):Bob301,редирект при загрузке страницы делать по адресу ссылки )))))))))))))))))) Да здравствует говнокод!
Тока помидоры не кидайте
Не понял смысл вашего продложения
6863 повідомлення
#12 років тому
Это поле для ввода эмейла пользователем. Вам надо подставить значение в него?
6863 повідомлення
#12 років тому
Bob301, мое "продложение" в том, чтоб перезагрузить страницу с вашим параметром так, словно ссылка нажата, посредством такой конструкции document.location.href = document.location.href + '?job=***';
Вот только делать так НЕ НАДО

402 повідомлення
#12 років тому
Цитата ("Bob301"):
У меня вот такой вид поля<input id="edit-submitted-email-author--4" class="email form-text form-email required" type="email" size="60" name="submitted">
тогда так:
$('.email'


676 повідомлень
#12 років тому
Объясняю. Есть раздел Вакансии. В форме добавления вакансии посетитель заполняет свой email. Нужно этот e-mail подставить в одно из полей формы.Под каждой вакансией выводиться форма обратной связи.
По умолчанию в форме не предусмотрено токенов, которые могут брать значение из вакансии и подставлять в поле получателя.
Есть только возможность использовать значение из поля формы как адрес получателя.
То-есть я в форме создал поле "email_author" на которое и отправляются сообщения.
Через <a href="?job=***">Написать письмо</a> я подставляю email с вакансии