使用js函数为html表单动作属性返回值

时间:2014-09-20 21:29:52

标签: javascript html get

我想使用JS函数的返回值作为表单获取操作的URL。是否可以或者是否需要在onSubmit属性中使用函数调用设置表单属性?

编辑:这基本上就是我想做的事情

<div class="search">
    <form method="get" action="https://duckduckgo.com/" id="search-form">
        <input id="searchbar" type="text" name="q" size="31" maxlength="255" value="" autofocus="autofocus"/>
    </form>
    <script type="text/javascript">
        document.getElementById("search-form").action = "bang()";
    </script>
</div>
bang函数是JS中DDG的bang系统的实现,因此我可以轻松地将刘海添加到我的网页中的搜索框中。

1 个答案:

答案 0 :(得分:1)

您可以使用表单的onsubmit事件在实际提交发生之前设置操作。

<form id="testForm" methods="get" action="#" onsubmit="setFormUrl()">
    Search: <input type="text" name="q" />
    <input type="submit" value="Go" />
</form>
function bang()
{
    return "http://www.google.com";
}

function setFormUrl()
{
    var url = bang();
    document.getElementById('testForm').setAttribute('action', url);
}