我有一个没有JQuery的表单。 该表单有2个文本输入和一个“文件上传”。 “文件上传”是具有一些内部SPAN元素的DIV。 如果我将表单更改为JQuery mobile,则“文件上载”不再以正确的方式呈现。有没有办法像没有JQuery移动一样显示这个“文件上传”,而其余的元素用JQuery显示?
谢谢, -ioan
编辑:这是我用于JQuery的模板:
<div data-role="page" id="reportselect">
<div data-role="header">
<a href="" id="BTNCLOSE" data-theme="b">Close</a>
<h1>Web to Fax</h1>
</div><!-- /header -->
<div data-role="content">
<div data-role="fieldcontain">
<label for="ETONAME">To (Name)</label>
{%eToName%}
</div>
<div data-role="fieldcontain">
<label for="ESUBJECT">Subject</label>
{%eSubject%}
</div>
<div data-role="fieldcontain">
<label for="MTOFAXNUMBER">Fax number(s)</label>
<textarea name="MTOFAXNUMBER" id="MTOFAXNUMBER"></textarea>
</div>
<div data-role="fieldcontain">
<label for="MMESSAGE">Message</label>
<textarea name="MMESSAGE" id="MMESSAGE"></textarea>
</div>
<div id="UPLOADER_DIV" class="UPLOADERCSS" name="UPLOADER" tabindex="5"></div>
<a href="" id="BTNSENDFAX" data-role="button" data-theme="b">Send fax now!</a>
</div><!-- /content -->
<div data-role="footer">
<h4>Web to Fax</h4>
</div><!-- /footer -->
有问题的元素是:
<div id="UPLOADER_DIV" class="UPLOADERCSS" name="UPLOADER" tabindex="5"></div>
以下是没有和使用JQuery的页面如何照顾 SUCCESSFUL 上传:http://imgur.com/a/GkqkL
实际上应隐藏“上传失败”。
Edit3:这是两个页面,有和没有JQuery Mobile:https://secure.ipfax.net/withJQuery.htm和 https://secure.ipfax.net/withoutJQuery.htm
答案 0 :(得分:1)
试试这个:
<div id="UPLOADER_DIV" class="UPLOADERCSS" name="UPLOADER" tabindex="5" data-enhance="false"></div>
请注意添加到div的data-enhance="false"
属性。这应该可以防止jquery mobile增强div的内容(改变样式和功能)。
答案 1 :(得分:1)
我对这个问题有两个建议,首先是jquery mobile的数据增强
数据增强= “假”
将此添加到您的div
实际上应隐藏“上传失败”。
另一个是当你的文件上传失败时你想隐藏div是
.uploader-upload-fail
{
display:none;
}
将此css添加到您的类文件中,我希望这可以帮助您解决问题.... :)问我是否有困惑
答案 2 :(得分:0)
jQuery Mobile没有做任何事情来禁用文件上传。由于浏览器安全限制,它不会设置它们的样式,并且您无法使用AJAX导航系统上载文件。
如果你想在jQuery Mobile上使用文件上传,你必须做两件事: 1)在表单定义中使用data-ajax =“false”关闭Ajax导航,因为您无法使用Ajax上载文件。 2)在表单上指定enctype =“multipart / form-data”的相应编码类型。