当用户在菜单中的一个选项上选择(释放鼠标)时,我正在尝试使下拉菜单发布表单。此代码在 FF 中运行良好,但 Safari 出于某种原因不提交表单。我使用 jquery 重新编写了代码,以查看 jquery 的 .submit() 实现是否更好地处理了浏览器的怪癖。同样的结果,在 FF 中工作在 safari 中不起作用。
以下片段来自同一页面,其中混合了一些 django 模板语言。
这是香草js的尝试:
function formSubmit(lang) {
if (lang != '{{ LANGUAGE_CODE }}') {
document.getElementById("setlang_form").submit();
}
}
这是 jquery 的尝试:
$(document).ready(function() {
$('#lang_submit').hide()
$('#setlang_form option').mouseup(function () {
if ($(this).attr('value') != '{{ LANGUAGE_CODE }}') {
$('#setlang_form').submit()
}
});
});
这是表格:
<form id="setlang_form" method="post" action="{% url django.views.i18n.set_language %}">
<fieldset>
<select name="language">
{% for lang in interface_languages %}
<option value="{{ lang.code }}" onmouseup="formSubmit('{{ lang.name }}')" {% ifequal lang.code LANGUAGE_CODE %}selected="selected"{% endifequal %}>{{ lang.name }}</option>
{% endfor %}
</select>
</fieldset>
</form>
我的问题是,我怎样才能让它在 Safari 中工作?