使用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的爆炸系统的实现,所以我可以很容易地在我的网页刘海添加到搜索框。
答
您可以使用表单的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
你的意思是你有一个返回URL和做别的事情,你要调用该函数,并设置表单的action属性的过程中javascript函数? – Rhumborl 2014-09-20 21:35:22
'form.action = yourFunction();'会做到这一点。 – Barmar 2014-09-20 21:37:22
我想在用户提交表单时调用该函数,并对函数进行评估,并返回用于获取请求 – anon 2014-09-20 21:38:08