从不同div中的输入值填充textarea

时间:2012-09-19 06:08:37

标签: javascript forms html input textarea

我正在为我的网站上传部分。 当用户想要上传新的应用程序时,他们需要填写一个表格,其中放置版本号等。

有27个不同的应用程序可以上传。因为我已经做了一个while循环

例如:

<select id="type">
<option value="choose" selected>choose here</option>
<?php

require("Function/applist.php");
while($showtablerow = mysql_fetch_array($showtablequery_result))
{
echo "<option value=".$showtablerow[0].">".$showtablerow[0]."</option>";
}

?>  
</select>   
</div>
<div id="choose" class="add" style="display:none;"></div>


<?php

require("Function/applist.php");
while($showtablerow = mysql_fetch_array($showtablequery_result))
{

    echo "<div class='add' id=".$showtablerow[0]." style='display:none;'><h2 id='amx-label'>".$showtablerow[0]."</h2>
    <div id='formadd' style='opacity:1;'>

    <form name='addamx' id='addamx' method='post'>

        <div id='version' class='uploadform' style='opacity:1;'>
            Version: <input style='opacity:1;' required type='text' name='versie' id='versie' width='3' onchange='process1()' ><br>

        </div>
        <div id='date' class='uploadform' style='opacity:1;'>
            Release Date(yyyy-mm-dd): <input required type='date' style='opacity:1;' size='10' maxlength='10' name='date'  id='date'>

        </div>
    <div id='build' style='opacity:1;'>
            Build By: <input required type='text' style='opacity:1;' size='5' maxlength='25' name='build'  id='build' >


        </div>
        <div id='platform' style='opacity:1;'>
            Platform: <span>32 Bit:</span><input required type='radio' style='opacity:1;' id='platform'  name='platform' value='32bit'>
                  <span>64 Bit:</span><input required type='radio' style='opacity:1;' id='platform'  name='platform' value='63bit'>
        </div>
        <div id='application'>
        <input type='hidden' name='app' value=".$showtablerow[0]." />
        </div>  
        <div id='notes' style='opacity:1;'>
            Release Notes: <textarea id='notess' name='test' onblur='process1()'></textarea>
        </div>

        <div id='uploadfooter' style='opacity:1;'>
            <button type='submit' id='uploadamx' name='uploadamx'>Upload
        </div>  
    </form>


    </div>



</div>";
}
?>

在选择框中,他们选择要上传的应用程序,并根据该选择获取表单。

在文本区域,他们会写下发行说明。

我想在填写版本号时自动将该版本号归档到文本区域。

我有点使用以下javascript:

function process1() {
var appname = document.getElementById('type').value;
var version = document.getElementById('versie').value;
var textvalue = "changes for " + appname + " version " + version;

document.getElementById("notess").value = textvalue;

}

该函数仅适用于第一个表单div 当我在第二个div上尝试它时,textarea保持为空,第二个div的版本号从第一个div插入textarea

我如何制作这个功能,以便textarea只填充该表格中的版本号? 有什么想法吗?

EDIT ***

AboQutiesh是一个好的创业公司的方式,它需要的唯一调整是 他写了:     的onblur = '过程1( “$ showtablerow [0]。”)' 结果是onblur ='process1(argument)' 这不起作用,因为参数需要onblur ='process1('argument')' 因为它是在一个while循环中我不能只是把''因为它会打破整个onblure thansk到我的学院,他指着我的ascii表 解决方案:

我将其更改为onblur = process1(&amp;#39“。$ showtablerow [0]。”&amp;#39)

(删除;在asccii otherwhise的末尾,它不会在这里正确显示) 感谢创业公司AboQutiesh

1 个答案:

答案 0 :(得分:0)

你需要在php中为每个文本区域提供不同的id:

    <div id='notes' style='opacity:1;'>
        Release Notes: <textarea id='notess_".$showtablerow[0]." name='test' onblur='process1(".$showtablerow[0].")'></textarea>
    </div>

和js

    function process1(appId) {
     var appname = document.getElementById('type').value;
     var version = document.getElementById('versie').value;
     var textvalue = "changes for " + appname + " version " + version;

    document.getElementById("notess_"+appId).value = textvalue;
}

我认为这就是你需要的