UPDATED- 请阅读原始问题下面的更多详细信息
我有一个带有各种 url 的选择表单元素,我想在选择时在新窗口中打开 - 为此,我在元素的 onchange 事件中添加了以下代码:
window.open(this.options[this.selectedIndex].value,'_blank');
这很好用。但我也想在更改此选择元素值时提交表单 - 我尝试了各种方法,但我似乎无法让它工作。
我有 jquery,所以如果通过它更容易实现那就很好。
更新 - 我刚刚意识到上面还有另一个问题,因为某些网址实际上用于生成和输出 pdf,而这些网址不起作用 - 它们打开然后立即关闭(至少在 IE7 中)。
更新 07/05/09- 我现在已经针对这个问题开放了赏金,因为我确实需要提出一个可行的解决方案。我最初确实通过显示链接而不是表单选择元素来解决这个问题,但这不再可行。
我需要上述内容的原因是我有大量可能需要查看/打印的文件,太多而无法合理地显示为链接列表。我需要提交表单来记录特定文件已被查看/打印的事实,然后在表单上显示文件历史记录的日志 - 我很乐意实现这方面的事情,因此不需要那里的帮助,但我认为这有助于放置上下文。
因此,为了澄清我的要求 - 我需要一个表单选择元素和“查看”按钮,单击该按钮不仅会在新窗口中启动文件下载(请注意当这些文件是 PDF 时我遇到的上述问题),而且还会提交包含 select 元素的表单。
给你
<script type="text/javascript">
$(function() {
$("#selectElement").change(function() {
if ($(this).val()) {
window.open($(this).val(), '_blank');
$("#formElement").submit();
}
});
// just to be sure that it is submitting, remove this code
$("#formElement").submit(function() {
alert('submitting ... ');
});
});
</script>
<form id="formElement" method="get" action="#">
<select id="selectElement">
<option></option>
<option value="http://www.deviantnation.com/">View Site 1</option>
<option value="http://stackoverflow.com/">View Site 2</option>
<option value="http://serverfault.com/">View Site 3</option>
</select>
</form>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)