无法在全屏iPad Mobile Safari上设置div html内容的隐藏字段内容

时间:2013-07-31 05:23:46

标签: html ipad

感谢您抽出宝贵时间阅读本文

我有一个表单,调用JS函数将DIV的html内容复制到隐藏的表单字段,以便我可以使用表单提交。它适用于桌面webkit broswers以及iPad上的移动Safari。但是,当我以全屏模式运行应用程序时(通过在主屏幕上保存快捷方式),这不起作用。

这是我的代码

JS功能:

function update_script_in()//copies scripts and submits the form
{
    $("#script_in").html($("#scriptContent").html());
    $('#ResiForm').submit();
}

表单提交:

<input type=submit value="Submit" onclick="update_script_in()">

感谢您的帮助

1 个答案:

答案 0 :(得分:1)

这是相当古老的,但在谷歌搜索为我解决同样的问题后,我还没有找到解决方案。看起来像iPad的一些奇怪的行为(容易重现,无法修复,至少我发现):目标输入字段确实发生了变化,但发布值是原始值(???)

因此,如果某个变通方法对某人有用,而不是在表单提交中应用来自contenteditable div的更改,我会在更改div时应用更改(对于contenteditable div更改事件没有,所以实际上它已完成关于模糊事件):

<div id="editor_inline_core_body" class="inputbox editor-inline" contenteditable>[initial value here]</div>
<input type="hidden" id="jform_core_body" name="jform[core_body]" value="[ initial value here]" />
<script>
        jQuery('#editor_inline_core_body').blur(function() {
        var value = jQuery('#editor_inline_core_body').html();
        jQuery('#jform_core_body').val(value);
        return true;
    });
</script>

效率较低,但至少可行。如果你想要更多的效率,你可以使用焦点事件检查旧的和新的值,但至少我不认为这是一个大问题或值得增加的复杂性。