2016-08-31 6 views
0

У меня есть контактная форма, которая не возвращает выбранную опцию в сгенерированном электронном письме, она продолжает говорить «неопределенный».Контактная форма Javascript не возвращает выбранное значение из раскрывающегося списка

Это то, что у меня есть (что я скопировал из одного из других рабочих вопросов по форме).

var topic = $("select#topic").val(); 
    if (topic == "") { 
     $("label#topic_error").show(); 
     $("select#topic").focus(); 
     return false; 
    } 

    var dataString = 'name=' + name + '&email=' + email + '&message=' + message + '&topic=' + topic + '&phone=' + phone + '&address=' + address; 
    //alert (dataString);return false; 

    $.ajax({ 
     type:"POST", 
     url:"process.php", 
     data:dataString, 
     success:function() { 
      $('#af-form').prepend("<div class=\"alert alert-success fade in\"><button class=\"close\" data-dismiss=\"alert\" type=\"button\">&times;</button><strong>Contact Form Submitted!</strong> We will be in touch soon.</div>"); 
      $('#af-form')[0].reset(); 
     } 
    }); 
    return false; 
}); 

});

HTML-форма элемента вопрос заключается в следующем:

 <select name="topic" id="topic"> 
     <option value=""></option> 
     <option value="General">General Information</option> 
     <option value="Sessions">Signing up for Support Sessions</option> 
     <option value="facilitator">Becoming a Facilitator</option> 
     </select> 

Я понятия не имею, что я делаю с JavaScript, так у меня возникают проблемы, даже глядя ответ. Может ли кто-нибудь сказать мне, что у меня не так?

+0

использование '$ ('# dropdownid') Вал ('SelectedValue.');' –

+0

Фрагмент кода JavaScript вы предоставили показывает, что вы делаете, если * ничего * не выбрано , но вы спрашиваете, почему он не работает, когда у вас есть * что-то выбранное ... – Santi

+0

Если вы поместили событие при изменении значения из выбранного? Будет ли это работать на вас? –

ответ

0

Вы можете увидеть выберите значение onclick как этот

$(document).ready(function(){ 
 
    $('#button1').click(function(){ 
 
    alert($('#combo :selected').text()); 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<select id="combo"> 
 
    <option value="1">Test 1</option> 
 
    <option value="2">Test 2</option> 
 
</select> 
 
<input id="button1" type="button" value="Click!" />

Если вы хотите, чтобы отправить его эти значения к вашей электронной почте вы можете попробовать POST запрос, как это.

<form method="post" action="process.php"> 
    <select name="taskOption"> 
    <option value="first">First</option> 
    <option value="second">Second</option> 
    <option value="third">Third</option> 
    </select> 
    <input type="submit" value="Submit the form"/> 
</form> 

PHP

<?php 
    $option = isset($_POST['taskOption']) ? $_POST['taskOption'] : false; 
    if ($option) { 
     echo htmlentities($_POST['taskOption'], ENT_QUOTES, "UTF-8"); 
    } else { 
    echo "task option is required"; 
    exit; 
    } 
+0

К сожалению, это не помогает мне получить выбранный элемент в электронном письме вместе с другим контентом из формы. –

+0

У вас есть пример того, что вы хотите? Я немного неясен в ваших потребностях. Я думал, что вы просто хотите получить значение из '