Coldfusion 保留类型为“”的输入值;文件";背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式

Coldfusion 保留类型为“”的输入值;文件";背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式背越式,coldfusion,Coldfusion,我在ColdFusion中有一个表单,最初有5个用于文件上传的输入字段。如果用户在附加过程中意识到他们有5个以上的文件要上传,我希望表单在提交更改字段时保留这些值 使用带有preservedata=“yes”属性的标记应该可以实现这一点,但我得到的只是一个存储在重新提交时输入值中的临时值,该值不会显示在字段中,也不会用于提交 编辑:谢谢大家的精彩回答,大家都给予了帮助,而且都是正确的。我能够实施亚当建议的解决方案。很好!谢谢 function changeFieldCount() // jav

我在ColdFusion中有一个表单,最初有5个用于文件上传的输入字段。如果用户在附加过程中意识到他们有5个以上的文件要上传,我希望表单在提交更改字段时保留这些值

使用带有preservedata=“yes”属性的
标记应该可以实现这一点,但我得到的只是一个存储在重新提交时输入值中的临时值,该值不会显示在字段中,也不会用于提交

编辑:谢谢大家的精彩回答,大家都给予了帮助,而且都是正确的。我能够实施亚当建议的解决方案。很好!谢谢

function changeFieldCount()  // javascript function for submit on input count change
 {
  var count = document.forms[0].numtotal.options[document.forms[0].numtotal.selectedIndex].value;
   document.forms[0].action = "me.cfm?count=" + count;
   document.forms[0].submit();
 }




要附加的文件数: #碳纳米管#

这是我在查看提交结果的源代码时得到的结果:

<input name="file1" id="file1"  type="file" value=".../cfusion.war/neotmp8858718543274653167.tmp" maxlength="60"  size="50"  /><br>


出于安全考虑,这是所有浏览器的设计。无法插入文件字段的值

使用JS DOM方法构建其他文件输入。由于您没有离开页面,因此速度很快,不会丢失任何内容。

要详细说明@SpliFF的答案,您需要做的是使用JavaScript动态创建更多的文件字段

下面是一个用于使JavaScript变得更简单的示例。我还使用了一个变量来跟踪显示的文件字段的数量,这样它们的名称后面都有一个唯一的编号,这样就可以在服务器端循环并唯一地标识它们

<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script type="text/javascript">
    //track the current number of file fields displayed
    var numUploadFields = 5;
    //attach an anonymous function to the button to add more fields
    $(function(){
        $("#add5").click(function(){
            for (var i = 0; i < 5; i++){
                numUploadFields += 1;
                var newHTML = "<br/><input type='file' name='upload" +
                              numUploadFields + "' />";
                $("#someSection").append(newHTML);
            }
        });
    });
</script>

<form method="post" action="">
    <div id="someSection">
        <input type="file" name="upload1" /><br/>
        <input type="file" name="upload2" /><br/>
        <input type="file" name="upload3" /><br/>
        <input type="file" name="upload4" /><br/>
        <input type="file" name="upload5" />
    </div>
    <input type="button" id="add5" value="Add 5 more file fields" />
</form>

//跟踪当前显示的文件字段数
var numUploadFields=5;
//将匿名函数附加到按钮以添加更多字段
$(函数(){
$(“#添加5”)。单击(函数(){
对于(变量i=0;i<5;i++){
numUploadFields+=1;
var newHTML=“
”; $(“#someSection”).append(newHTML); } }); });



<script type="text/javascript" 
src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>

<script type="text/javascript">
    //track the current number of file fields displayed
    var numUploadFields = 5;
    //attach an anonymous function to the button to add more fields
    $(function(){
        $("#add5").click(function(){
            for (var i = 0; i < 5; i++){
                numUploadFields += 1;
                var newHTML = "<br/><input type='file' name='upload" +
                              numUploadFields + "' />";
                $("#someSection").append(newHTML);
            }
        });
    });
</script>

<form method="post" action="">
    <div id="someSection">
        <input type="file" name="upload1" /><br/>
        <input type="file" name="upload2" /><br/>
        <input type="file" name="upload3" /><br/>
        <input type="file" name="upload4" /><br/>
        <input type="file" name="upload5" />
    </div>
    <input type="button" id="add5" value="Add 5 more file fields" />
</form>