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

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

问题描述:

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

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

<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> 

哐功能是DDG在JS的爆炸系统的实现,所以我可以很容易地在我的网页刘海添加到搜索框。

+0

你的意思是你有一个返回URL和做别的事情,你要调用该函数,并设置表单的action属性的过程中javascript函数? – Rhumborl 2014-09-20 21:35:22

+0

'form.action = yourFunction();'会做到这一点。 – Barmar 2014-09-20 21:37:22

+0

我想在用户提交表单时调用该函数,并对函数进行评估,并返回用于获取请求 – anon 2014-09-20 21:38:08

您可以使用表单的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); 
} 
+0

耶,这是我的替代计划,但我想知道是否有任何方式在获取请求之前获取action属性中指定的函数,而不是浏览器尝试加载函数生成的页面。 – anon 2014-09-20 22:10:54