重置表单,重置字段值,重置焦点全部onSubmit()

时间:2013-04-29 16:57:53

标签: javascript forms

早些时候我找到了一个我没有的问题的解决方案,现在我已经创造了更多问题,希望找到解决方案。

我有一个提交网址的表单:

<form name="urlField" onsubmit="return submitURLFieldForm();">
  <input type="text" name="address" id="addressfield" />
</form> 

该URL在新标签/窗口中打开。现在我想要重置字段,将“http://”添加回来并将焦点放在最后,准备输入新的URL。我的JS下面适用于除Opera之外的所有浏览器。由于页面在所有浏览器中正确加载INCLUDING Opera(字段focus()&amp; value()最初都设置在<body>标记中)我认为它必须是我的onSubmit的问题功能如下:

function submitURLFieldForm() {
var url = document.getElementById('addressfield').value;
if (!url.match(/^[a-zA-Z]+:\/\//)) {
    url = 'http://' + url;
}
window.open(url);
    document.urlField.address.reset();
    document.urlField.address.focus();
    document.urlField.address.value='http\://';
}

还有另一种写作方式吗?这是马虎吗?

1 个答案:

答案 0 :(得分:1)

<head>
<script type="text/javascript">
function submitURLFieldForm() {
    var url = document.getElementById('addressfield').value;
    if (!url.match(/^[a-zA-Z]+:\/\//)) {
        url = 'http://' + url;
    }
    window.open(url);
    document.getElementsByName('urlField')[0].reset();
    resetForm();
    return false;
}
window.onload = function() {
    resetForm();
}
function resetForm() {
    var address = document.getElementsByName('address')[0];
    address.focus();
    address.value = "http://";
}
</script>

</head>
<body>
    <form name="urlField" onsubmit="return submitURLFieldForm();">
      <input type="text" name="address" id="addressfield" />
    </form> 
</body>

修改
检查歌剧控制台后,添加了一些更改。我希望它像你想象的那样有效。