使用jquery附加的隐藏字段损失值

时间:2013-01-08 20:56:09

标签: jquery hidden-field

我有一个上传图像的模态 然后返回该图像:

<input type="hidden" value="20130108A70WY2.jpg" name="image_message_file" id="image_message_file">
<img src="http://files.gestionradioqc.com/immedia/message/picture/2013/01/08/20130108A70WY2_300.jpg">

然后我使用javascript将数据传输到我的主页:
&LT; - 编辑 - &GT;

function addAttachmentsToMessage(){
    var picture = $("#image_message_preview").find('img').parent().html();
    alert(picture);
    if(picture != ''){
        $("#message_attachments").append("<div class='attachment cf'>"+
                                        "<ul class='att-picture cf'>"+
                                            "<li>"+picture+"</li>"+
                                        "</ul>"+
                                    "</div>");
        clearAttachments();
    }
}

function clearAttachments(){
    $("#image_message_file").attr('value', '');
    $("#image-message").attr('value', '');
    $("#image_message_loading").hide();
    $("#image_message_upload").show();
    $("#image_message_preview").hide();
}

&lt; - / EDITED - &gt;

警报实际上是正确的 但实际上附加到message_attachments的是(隐藏字段中没有值):

<input type="hidden" value="" name="image_message_file" id="image_message_file">
<img src="http://files.gestionradioqc.com/immedia/message/picture/2013/01/08/20130108A70WY2_300.jpg">

但只有附加的第一张图片才有问题 其他的都没问题 我在Firefox 17,Chrome 23和IE 9上遇到了同样的问题。

任何想法我的问题是什么?

2 个答案:

答案 0 :(得分:0)

$("#image_message_preview")无法访问已发布的标记 SO图片警告“未定义” - 所以你必须有粘贴代码/标记问题? “image_message_file”

我冒昧包装/正确命名等,它可以提醒这里的值:

http://jsfiddle.net/eBTYC/

答案 1 :(得分:0)

我编辑了我原来的帖子,以显示错误的来源。
错误来自我的函数clearAttachments(),它正在重置#image_message_file的值。因为它是通过id搜索的,所以它只是改变了第一个附加项的值 因此,我删除了那一行,现在一切正常,因此现在的功能是:

function clearAttachments(){
    $("#image-message").attr('value', '');
    $("#image_message_loading").hide();
    $("#image_message_upload").show();
    $("#image_message_preview").hide();
}

感谢大家的见解!