通过jquery ui模态表单上传图片

时间:2012-01-10 16:07:50

标签: jquery-ui modal-dialog uploader

我正在尝试通过jquery ui模式表格上传图片..

有可能吗?我有关于如何从模态中获取值的问题..

我一直在网上搜索,但没有明确的答案..

有人对此有任何想法吗?

这是我的模式形式的javascript代码:

 $("#dialog").dialog({
                modal: true,
                resizable: false,
                width: 400,
                position: "center",
                buttons: {
                    "Upload": function() {


                                                           var pos= $("#pos input:radio:checked").val();
                                                           // i still don't know how to get the value for the image uploaded

                                                           $( this ).dialog( "close" );

                                            },
                    "Cancel": function() { $( this ).dialog( "close" ); }
                                     }
            });
               });

这是我的模态形式:

<div id='dialog' title='ADD IMAGE' class='ui-dialog-content ui-widget-content'>
        <form id='myform' method='POST' enctype='multipart/form-data'>
        <fieldset>
        <div id='pos'>
        <p class='applyimage'>Where do you want to apply a background image?</p>
        <p class='applyimage'><input type='radio' class='position' name='position' id='header' value='header' checked='checked'/>&nbsp;<label for='header'>Header</label>
        <input type='radio' class='position' name='position' id='body' value='body'/>&nbsp;<label for='body'>Body</label>
        <input type='radio' class='position' name='position' id='footer' value='footer'/>&nbsp;<label for='footer'>Footer</label></p>
        <p class='applyimage'><input type='file' name='data[Image][fileName]' id='imgup'/></p>
        </div>
        </fieldset>
        </form>
        </div>

1 个答案:

答案 0 :(得分:0)

我建议你不要使用“buttons”参数, 而是在表单上创建上传按钮。

如果您不执行任何其他操作,则会加载您的表单设置的操作。


如果你真的想使用“buttons”参数(为了保持风格相同),你应该没有问题强制使用javascript function(){$(“#formName”)提交表单。提交(); }

我建议做一个ajax调用来进行提交,并使用.success或.error处理程序捕获它以进行下一步。

你需要更新你创建的模态div。并且只在.success之后关闭它。