为什么此重定向在表单提交时无效?它应该将用户重定向到js函数中指定的url,并附加输入表单中的值
<form>
<div class="input-wrap">
<input type="text" id="myInputType" class="block" />
<input type="submit" name="submit" class="block" onsubmit="redirect()" />
</div>
</form>
`
<script type="text/javascript">
function redirect() {
window.location = 'http://somewhere.com?url=' + document.getElementByID('myInputType').value;
}
</script>
答案 0 :(得分:0)
我认为onsubmit=''
会转到像<form onsubmit="redirect();">
这样的表单标记而不是输入
答案 1 :(得分:0)
您可以在不使用javascript的情况下收到相同的结果。
您可以在表单上使用"AAAAA""BBBBB"
方法,并将GET
设置为要重定向到的网站。然后,您只需在输入字段中添加action
属性,即可获得相同的结果。
像这样:
name
答案 2 :(得分:0)
正确的函数名称为document.getElementById
而非document.getElementByID
答案 3 :(得分:0)
getElementById
有一个小写 d
location
encodeURIComponent
对网址的输入值进行编码。没有理由为此使用JavaScript。只需使用常规表单提交。
<!-- Set the action to the URL (without query string) you want to submit to. -->
<form action="http://somewhere.com">
<div class="input-wrap">
<!-- Give the input the name of the field you want to send -->
<input type="text" class="block" name="url" >
<!-- Don't give the submit button a name -->
<input type="submit" class="block">
</div>
</form>
答案 4 :(得分:0)
很少有事情需要纠正。
使用document.getElementById
代替document.getElementByID
Onsubmit
是表单属性而非按钮,因此请使用onClick
如果您想使用onSubmit
,请将其与表单
使用encodeURIComponent
函数来避免java脚本错误。