Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/250.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何让表单中的选择框使用php填充下面的输入框_Php_Javascript_Html - Fatal编程技术网

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

如何让表单中的选择框使用php填充下面的输入框,php,javascript,html,Php,Javascript,Html,我需要将在选择框中选择的值添加到具有相同表单的输入框中,但不确定如何最好地执行此操作。选择框包含用户电子邮件地址,输入框需要包含多个电子邮件地址。其思想是,当您从选择框中选择电子邮件地址时,它会自动添加到输入中,或者通过单击添加按钮,在PHP中重新加载页面,添加到作为输入框值的变量中。我曾尝试通过在表单中包含表单来实现这一点,但这不起作用。有更好的方法吗 非常感谢。好的,在select的onchange事件中,将输入值设置为所有连接在一起的选定选项 以下是一些psuedo代码: on selec

我需要将在选择框中选择的值添加到具有相同表单的输入框中,但不确定如何最好地执行此操作。选择框包含用户电子邮件地址,输入框需要包含多个电子邮件地址。其思想是,当您从选择框中选择电子邮件地址时,它会自动添加到输入中,或者通过单击添加按钮,在PHP中重新加载页面,添加到作为输入框值的变量中。我曾尝试通过在表单中包含表单来实现这一点,但这不起作用。有更好的方法吗


非常感谢。

好的,在select的onchange事件中,将输入值设置为所有连接在一起的选定选项

以下是一些psuedo代码:

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'); });
您可以尝试以下方法:

在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>

函数add_email()
{
document.getElementById('txt_-email')。value=document.getElementById('select_-email')。value+,'+document.getElementById('txt_-email')。value;
}
最后是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>

email1@test.com
email2@test.com
email3@test.com

希望它有帮助

为什么要使用php而不是javascript来实现这一点感谢它给了我一些开始的响应,但这里的问题首先是每次运行函数时都会重新启动str值,因此它不会连接字符串()。其次,如果用户错误地选择了它,会发生什么?我如何将其添加到文本按钮以添加字符串?我误解了您的问题,我假设它是一个多选框,我的代码可以用于该框。对于您来说,您只需将选定值附加到文本框值,然后将选项重置为未选定。编辑了上面的代码。非常感谢这是我从你的帖子中找到的代码。