2012-03-12 37 views
0

我有一個要求,將選擇框中選擇的值添加到具有相同表單的輸入框,我不知道如何最好地去解決這個問題。選擇框包含用戶電子郵件地址,輸入框需要包含多個電子郵件地址。這個想法是,當您從選擇框中選擇一個電子郵件地址時,它會自動添加到輸入中,或者通過單擊添加按鈕來重新加載PHP中的頁面,然後添加到作爲輸入框值的變量中。我試圖通過在窗體中創建窗體來做到這一點,但這並不奏效,還有更好的方法嗎?如何使用表單中的選擇框填充下面的輸入框使用php

非常感謝。

+0

爲什麼使用PHP而不是JavaScript來做到這一點 – Kaushtuv 2012-03-12 04:14:30

回答

1

那麼,在select的onchange事件中,將輸入值設置爲連接在一起的所有選定選項。

下面是一些僞代碼:

on select changed { 
    str= '' 
    for every element 
    if checked 
     str = str + value + ',' 
    set input's value to the variable str 

再次jQuery中:

$('select').onchange(function(){ 
    str=''; 
    $('option:selected').each(function(){ 
    str+=this.value+','; }); 
    $('input:text').value(str); }); 

編輯:這是你想要的東西,沒有多選。

$('select').onchange(function(){ 
    $('option:selected').each(function(){ 
    $('input:text').val($('input:text').val()+$(this).val()+',');}) 
    .removeAttr('selected'); }); 
+0

感謝您的迴應,它給了我一些開始,但這裏的問題是首先str函數在每次運行時都會重新啓動,所以它不會連接字符串(http://jsfiddle.net/tYvQ8/511/)。然後,其次,如果用戶錯誤地選擇了它會發生什麼,我會如何將它添加到文本按鈕來添加字符串? – aHunter 2012-03-12 04:30:53

+0

我錯誤地解釋了你的問題,我認爲這是一個多選框,我的代碼可以工作。 對於您,您只需將所選值附加到文本框值,然後將選項重置爲未選中。 上面編輯的代碼。 – DanRedux 2012-03-12 04:32:45

+0

非常感謝這是我從你的文章中提出的http://jsfiddle.net/tYvQ8/518/的代碼。 – aHunter 2012-03-12 04:50:06

0

你可以試試這個:

編寫代碼的網頁的DOCTYPE前頂部。

<?php 
if(isset($_POST['add'])) 
{ 
    $previous_email = $_POST['txt_email']; 
    $emails = $_POST['select_email'].",".$previous_email; 
} 
else 
{ 
    $emails = ''; 
} 
?> 

JavaScript的:你可以把它放在你的HTML文檔

<script> 
function add_email() 
{ 
    document.getElementById('txt_email').value = document.getElementById('select_email').value +','+ document.getElementById('txt_email').value;  
} 
</script> 

頭部分最後的HTML:

<body> 

    <form method="post" action="" name="myform"> 
    <select name="select_email" id="select_email" onchange="add_email();"> 
    <option value="[email protected]">[email protected]</option> 
    <option value="[email protected]">[email protected]</option> 
    <option value="[email protected]">[email protected]</option> 
    </select> 

    <textarea name="txt_email" id="txt_email"><?=$emails;?></textarea> 
    <input type="submit" value="add" name="add"/> 
    </form> 

</body> 

希望它可以幫助

相關問題