如何在表单中选择框使用php填充下面的输入框

时间:2012-03-12 04:08:09

标签: php javascript html

我需要将选择框中选择的值添加到具有相同形式的输入框中,并且不确定如何最好地解决此问题。选择框包含用户电子邮件地址,输入框需要包含多个电子邮件地址。我们的想法是,当您从选择框中选择一个电子邮件地址时,它会自动添加到输入中,或者单击添加按钮,该按钮会在PHP中重新加载页面,从而添加一个变量,该变量是输入框的值。我试图通过在表单中​​包含一个表单来做到这一点,但这样做是否有更好的方法呢?

非常感谢。

2 个答案:

答案 0 :(得分: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'); });

答案 1 :(得分:0)

你可以试试这个:

在DOCTYPE之前将此代码写在页面顶部。

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

javascript:你可以把它放在html文档的head部分

<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="email1@test.com">email1@test.com</option>
    <option value="email2@test.com">email2@test.com</option>
    <option value="email3@test.com">email3@test.com</option>
    </select>

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

</body>

希望有所帮助