【问题标题】:Submit Form Contents to a URL将表单内容提交到 URL
【发布时间】:2013-06-17 21:48:59
【问题描述】:

说实话,我真的不知道这里最好的方法是什么。我没有 Javascript 知识,但我认为这里没有必要……这太简单了。

我有一个简单的表格。我希望用户能够输入一个单词并按回车键或单击“提交”。当输入“X”时,我希望它们被重定向到“www.MyURL.com/X.html”。我能找到的唯一解决方案是这样的:

<form>
<input name="solution" type="text" id="solution" maxlength="10" /><br />
<input type="button" value="submit" onclick="window.location='http://www.MYURL.com/' + this.form.solution.value + '.html'"/>
</form>

但是,这不允许用户按 Enter 来提交表单。我尝试了以下使其成为提交输入,但我对“onsubmit”的潜在操作一无所知,并且这个不起作用。

<form onsubmit="window.location='http://www.MYURL.com/' + this.form.solution.value + '.html'">
<input name="solution" type='text' id="solution" maxlength="10" /><br />
<input type="submit" value="submit" />

我应该在这个事件中使用“action=”吗?而且我不知道“方法=”是否起作用。

我的问题是我不知道如何让表单将其文本内容提交到 URL,然后链接到该 URL。

【问题讨论】:

    标签: javascript html forms onsubmit


    【解决方案1】:

    您可以在没有表单的情况下在 javascript 中完成这一切。只需在每次按下键盘时检查键码 - 如果是 Enter 键 (13),则执行重定向。

    这是一个完整的工作页面:

    <!DOCTYPE html>
    <html>
    <head>
        <title></title>
    </head>
    <body>
    <input type="text" id="solution" onkeyup="doSomething(event);">
    <input type="button" value="Click Me" onclick="redirect();">
    <script type="text/javascript">
        function doSomething(e) {
            var keyCode = e.keyCode || e.charCode;
            if (keyCode === 13) {
                redirect();
            }
        }
    
        function redirect() {
            window.location.href = "http://www.MYURL.com/"
                + document.getElementById("solution").value
                + ".html";
        }
    </script>
    </body>
    </html>
    

    【讨论】:

    • 好吧,这是有道理的,但我不知道如何组织它。当我将“onkeyup”放在任何一个输入标签中时,它什么也没做(现在提交表单给出“www.MyURL.com/?solution=X”)。它也没有考虑到我仍然希望提交按钮可以点击的事实。总的来说,我的问题是我不知道如何让表单将其文本内容提交到 URL,然后链接到该 URL。
    • 您将无法像正常一样提交表单 - 正常的表单提交会接受输入并将它们作为键值对添加到查询字符串或帖子值中 - 它不能实际上在没有 javascript 的情况下更改目标。而且由于无论如何您都必须使用javascript,所以您不妨让它做所有事情。我将使用 Enter 或按钮单击的完整页面进行修改。
    • 谢谢你的帮助,伙计。不能确定为什么,但点击“输入”仍然只会导致“www.MyURL.com/?solution=X”。我意识到这个解决方案可能不是我需要的。你知道是否有办法编写类似这样的脚本:提交时,如果“解决方案”值=“XXX”然后重定向到“www.MyURL.com/Correct.html”;如果“解决方案”值不 =“XXX”,则重定向到“www.MyURL.com/Incorrect.html”。有点像一个单一的密码来允许访问链接。抱歉打扰了,我不知道如何在 Google 上搜索这样的东西...
    • 通过"var solution = document.getElementById('solution').value" 取'solution'的值,然后"if (solution == "XXX"),如果成功则"window .location.href = 'correct'",如果不是“不正确”
    • 除了不确定如何执行两个单独的指令之外,让它工作。 “如果成功”和“如果不成功”的 Javascript 是什么?我让“输入”键工作,我认为这不是因为您在 13 岁之前有第三个“=”。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-21
    • 1970-01-01
    • 2016-02-05
    相关资源
    最近更新 更多