2

我有一个没有 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 的页面在成功上传后的外观:http: //imgur.com/a/GkqkL

实际上应该隐藏“上传失败”。

Edit3:这是两个页面,有和没有 JQuery Mobile:https ://secure.ipfax.net/withJQuery.htm和 https://secure.ipfax.net/withoutJQuery.htm

4

3 回答 3

1

尝试这个:

<div id="UPLOADER_DIV" class="UPLOADERCSS" name="UPLOADER" tabindex="5" data-enhance="false"></div>

注意data-enhance="false"添加到 div 的属性。这应该可以防止 jquery mobile 增强 div 的内容(更改样式和功能)。

于 2013-10-10T15:03:42.500 回答
1

我对这个问题有两个建议首先是针对 jquery mobile 的数据增强

数据增强=“假”

将此添加到您的 div

实际上应该隐藏“上传失败”。

另一个是当你的文件上传失败时你想隐藏 div 是

.uploader-upload-fail
{
display:none;
}

将此 css 添加到您的类文件中,我希望这对您的解决方案有所帮助.... :) 如果您有困惑,请询问我

于 2013-10-14T11:41:31.847 回答
0

jQuery Mobile 不会做任何事情来禁用文件上传。由于浏览器安全限制,它只是不设置样式,并且您无法使用 AJAX 导航系统上传文件。

如果您想通过 jQuery Mobile 使用文件上传,您必须做两件事: 1) 在您的表单定义中使用 data-ajax="false" 关闭 Ajax 导航,因为您不能使用 Ajax 上传文件。2) 在您的表单上指定适当的编码类型 enctype="multipart/form-data"。

于 2013-10-07T18:24:52.417 回答