从JQuery mobile中排除div?

时间:2013-10-07 18:13:13

标签: jquery

我有一个没有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.htmhttps://secure.ipfax.net/withoutJQuery.htm

3 个答案:

答案 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”的相应编码类型。