重定向包括提交表单中的输入类型值

时间:2017-03-28 12:47:21

标签: html forms input

为什么此重定向在表单提交时无效?它应该将用户重定向到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>

5 个答案:

答案 0 :(得分:0)

我认为onsubmit=''会转到像<form onsubmit="redirect();">这样的表单标记而不是输入

答案 1 :(得分:0)

您可以在不使用javascript的情况下收到相同的结果。

您可以在表单上使用"AAAAA""BBBBB" 方法,并将GET设置为要重定向到的网站。然后,您只需在输入字段中添加action属性,即可获得相同的结果。

像这样:

name

这将重定向到http://somewhere.com?url=yourinput

答案 2 :(得分:0)

正确的函数名称为document.getElementById而非document.getElementByID

答案 3 :(得分:0)

  1. 在表单上提交事件,而不是按钮
  2. getElementById有一个小写 d
  3. 提交表单可能会覆盖您将网址分配给location
  4. 的尝试
  5. 您无法使用encodeURIComponent对网址的输入值进行编码。
  6. 没有理由为此使用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)

很少有事情需要纠正。

  1. 使用document.getElementById代替document.getElementByID

  2. Onsubmit是表单属性而非按钮,因此请使用onClick

  3. 如果您想使用onSubmit,请将其与表单

  4. 一起使用
  5. 使用encodeURIComponent函数来避免java脚本错误。