2016-03-12 3 views
0

У меня есть форма, как в следующем, и я хочу добавить значение в «скрытом» пункта к «поиск» Рассматриваемый представить:Как добавить еще одну строку к значению формы перед отправкой?

<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 = строка + до + быть + добавлена ​​

Позже я пытаюсь использовать 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> 

но всплывающее предупреждение говорит: NaN.

Как использовать javascript для совместного использования значения 2 перед отправкой на другую страницу cgi?

ответ

1

Как говорит 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; 
} 
1

getElementsByName возвращает массив элементов. Вы можете получить первый элемент массива, который по индексу 0.

var a; 
a = document.getElementsByName('a1')[0].value + document.getElementsByName('a2')[0].value; 
alert(a); 
+0

Спасибо за ваше мнение. –

Смежные вопросы