Javascript 如何在提交表单之前将另一个字符串附加到表单的值?
我有一个如下的表单,我想在提交之前将“隐藏”项中的值附加到“搜索”项中:Javascript 如何在提交表单之前将另一个字符串附加到表单的值?,javascript,html,forms,Javascript,Html,Forms,我有一个如下的表单,我想在提交之前将“隐藏”项中的值附加到“搜索”项中: <form action="...." method="get" accept-charset="utf-8" > <input type="search" name="a1" results="0" value="" placeholder="some texts" class="search-form-input"><!-- search value --> <input n
<form action="...." method="get" accept-charset="utf-8" >
<input type="search" name="a1" results="0" value="" placeholder="some texts" class="search-form-input"><!-- search value -->
<input name="a1" type="hidden" value="string to be added"><!--hidden value-->
</form>
但是结果url将是这样的…a1=string+to+be+added
稍后,我尝试使用javascript获取搜索值和隐藏值,并将它们组合在一起:
<form action="...." method="get" accept-charset="utf-8" >
<input type="search" name="a1" results="0" value="" placeholder="some texts" class="search-form-input"><!-- search value -->
<input name="a2" type="hidden" value="string to be added"><!--hidden value-->
<script language="javascript">
var a;
a = document.getElementsByName('a1').value +
document.getElementsByName('a2').value;
alert(a);
</script> </form>
var a;
a=document.getElementsByName('a1').value+
document.getElementsByName('a2')。值;
警报(a);
但是弹出的警告是:南
在提交到另一个cgi页面之前,如何使用javascript连接2值?getElementsByName返回一个元素数组。可以获取此数组的第一个元素,该元素位于索引0处
var a;
a = document.getElementsByName('a1')[0].value + document.getElementsByName('a2')[0].value;
alert(a);
getElementsByName返回元素数组。可以获取此数组的第一个元素,该元素位于索引0处
var a;
a = document.getElementsByName('a1')[0].value + document.getElementsByName('a2')[0].value;
alert(a);
正如Aycan所说,您也可以使用表单集合:
document.forms[0].a2.value;
但如果从表单的提交侦听器运行它,则更容易:
<form onsubmit="this.a1.value += this.a2.value" ...>
尽管最好使用函数来实现这一点:
<form onsubmit="addValue(this)" ...>
...
function addValue(form) {
form.a1.value += form.a2.value;
}
...
函数addValue(form){
表a1.值+=表a2.值;
}
正如Aycan所说,您也可以使用表单集合:
document.forms[0].a2.value;
但如果从表单的提交侦听器运行它,则更容易:
<form onsubmit="this.a1.value += this.a2.value" ...>
尽管最好使用函数来实现这一点:
<form onsubmit="addValue(this)" ...>
...
function addValue(form) {
form.a1.value += form.a2.value;
}
...
函数addValue(form){
表a1.值+=表a2.值;
}
谢谢你的意见。谢谢你的意见。