2016-10-06 10 views
0

Я видел это раньше, но в основном то, что я пытаюсь сделать, - это когда пользователь нажимает кнопку «Миссионерское прощание/возвращение домой», он перенаправляет их в контактную форму с помощью выпадающее меню, в котором «Миссионерское прощание/возвращение домой» уже выбрано для них в контактной форме, и делайте это для различных различных тегов <a> и разных опций выбора.Изменить выбор на основе <a> нажав

HTML Form Я перенаправлении

<form class="contactform" method="post" action="php/events.php"> 
    <input class="leftbox halfbox" name="contactname" placeholder="Contact's Name"> 
    <input class="rightbox halfbox" name="eventname" placeholder="Event Name"> 
    <input class="leftbox halfbox" name="contactphone" placeholder="Contact Phone"> 
    <input class="rightbox halfbox" name="contactemail" placeholder="Contact Email"> 
    <select class="fullbox stubborn" name="eventtype"> 
    <option>What type of event is it?</option> 
    <option value="missionary">Missionary Farewell/Homecoming</option> 
    <option value="highlight">Athletic/Dance Featurette</option> 
    <option value="birthday">Birthday</option> 
    <option value="funeral">Funeral</option> 
    <option value="graduation">Graduation</option> 
    <option value="anniversary">Anniversary</option> 
    <option value="engagement">Engagement</option> 
    <option value="other">Other</option> 
    </select> 
    <textarea class="fullbox" id="textarea" name="otheroption" placeholder="If other, please specify"></textarea> 
    <input class="leftbox halfbox" name="eventloc" placeholder="Event Location"> 
    <input class="rightbox halfbox" name="eventtime" placeholder="Event Duration"> 
    <textarea class="fullbox" id="textarea" name="otherquestions" placeholder="Do you have any other questions/specifications?"></textarea> 
    <input class="fullbox stubborn" id="submit" name="submit" type="submit" value="Submit"> 
</form> 
+1

Установите href для якоря как URL-адрес с строкой запроса '? Eventtype = missionary', затем проверьте строку запроса на новой странице - я, вероятно, сделаю эту серверную часть (PHP, в вашем случае). В общем случае любой заданный якорь мог бы указать как можно больше или несколько настроек по умолчанию. – nnnnnn

+0

nnnnnnn, ваша идея была моей оригинальной мыслью. Я попробовал только то, что ты сказал мне, но ничего не сделал. Что вы подразумеваете под серверной стороной? –

+0

Вы используете PHP, не так ли? Любой PHP-код, который вы пишете, выполняется на вашем веб-сервере, и результат отправляется в браузер. Любой JavaScript-код, который вы пишете, выполняется в браузере. – nnnnnn

ответ

1

Набор HREF анкера быть URL со строкой запроса, который несет в себе тип события:

<a href="form-page.php?eventtype=missionary">...</a> 

На странице формы form-page.php Javascript читает URL-адрес, анализирует строку запроса для параметра eventtype и соответственно настраивает соответствующее меню.

Для того, чтобы сделать это лучше дать id в раскрывающемся списке событий, давайте использовать eventtype:

<select class="fullbox stubborn" name="eventtype" id="eventtype"> 

Тогда в конце body перед закрывающим тегом </body> вы положили что-то вроде этого:

<script> 
    function getParameterByName(name) 
    { 
     var url = window.location.href; 
     name = name.replace(/[\[\]]/g, "\\$&"); 
     var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"), 
      results = regex.exec(url); 
     if (!results) return null; 
     if (!results[2]) return ''; 
     return decodeURIComponent(results[2].replace(/\+/g, " ")); 
    } 

    ​document.getElementById('eventtype').value = getParameterByName('eventtype');​​​​​​​​​​ 
</script> 

Этот подход является чистой клиентской стороной (чистый html) без php или любого кода на стороне сервера для управления страницей.

(Конечно, та же цель может быть достигнута без Javascript на стороне сервера, построение страницы формы с возможностью предварительно выбранного)

Credits:

Функция getParameterByName() приходит от: How can I get query string values in JavaScript?

Как изменить выбранный параметр по значению с помощью JavaScript описано здесь: HTML SELECT - Change selected option by VALUE using JavaScript

Смежные вопросы