2016-08-31 49 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')VAL( '的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

你有沒有你想要的例子?我有點不清楚你的需求。我以爲你只是想從'