【问题标题】:Firefox (only) Dynamic Form Action Not WorkingFirefox(仅限)动态表单操作不起作用
【发布时间】:2010-08-03 21:17:10
【问题描述】:

控制台正在为操作 attr 返回空白。我已经移动了:

$('#file_upload').attr('action','io.cfm?action=updateitemfile&item_id='+$('.agenda-modal').attr('data-defaultitemid'));

进出.live('submit') 并没有运气。我也试过没有+$('.agenda-modal').attr('data-defaultitemid') 部分,它仍然返回空白。我已将表单中的所有内容删除为 JUST:

$('#file_upload').live('submit',function(event){
        $(this).attr('action','io.cfm?action=updateitemfile&item_id='+$('.agenda-modal').attr('data-defaultitemid'));
});

还是什么都没有。它无处提交,并返回 action=""

最后,它适用于所有其他浏览器,只是不适用于 Firefox :( 有人有什么想法吗?

这里是 HTML,以防万一您想查看它:

<form id="file_upload" method="post" enctype="multipart/form-data" target="upload_target" action="">
    <input name="binary" id="file" size="27" type="file" /><br />
    <br><input type="submit" name="action" value="Upload" /><br />
    <iframe id="upload_target" name="upload_target" src="" style="display:none"</iframe>
</form>

【问题讨论】:

    标签: javascript jquery html iframe file-upload


    【解决方案1】:

    基于this comment on the attr() documentation,看来必须将操作大写才能在 Firefox 中工作:

    $('#file_upload').live('submit',function(event){
        $(this).attr('ACTION','io.cfm?action=updateitemfile&item_id='+$('.agenda-modal').attr('data-defaultitemid'));
    });
    

    我有钱说它在 IE 中崩溃了...

    【讨论】:

    • 很高兴找到帕特! (为什么 jQuery 不能原生处理这个问题?)无论如何,我试试看,让你知道,希望能给你一些分数......
    • 此信息通常不正确。没有必要将“action”属性大写除非表单中的&lt;input&gt;具有“action”的“name”属性。
    • 感谢@Pointy 提供的信息。我记得当我将输入命名为如下时,我在 IE 中提交的表单搞砸了:&lt;input name="name"/&gt;。生活和学习吧?
    • 天啊,我遇到了同样的问题,大写 ACTION 解决了​​它。你是人中的王。
    • 我看到太多“感谢”,但点赞太少!我为你 +1 :-)
    猜你喜欢
    • 2019-02-17
    • 1970-01-01
    • 1970-01-01
    • 2014-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-08-20
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多