Получение значения другой формы ввода в той же форме - PullRequest
0 голосов
/ 08 января 2012

У меня есть форма, содержащая 2 поля ввода, одно скрытое и кнопка. Когда я нажимаю на кнопку, мне нужно получить и присвоить значение скрытого поля формы в той же форме другому div.

Как мне пройти через dom, чтобы получить значение этого конкретного поля формы? Я знаю имя поля ввода формы.

[EDIT] - я должен был добавить, что у меня есть несколько форм на одной странице с одинаковыми элементами, поэтому я не могу использовать $ ("input [name = 'FORMELEMENT']"); так как у меня есть множество одинаковых имен форм. Мне нужно найти значение элемента формы в той же форме, где находится кнопка.

Ответы [ 3 ]

2 голосов
/ 08 января 2012

Обратите внимание, что input - это type="text", чтобы было легче увидеть изменения.Это не влияет на то, что в живом примере это type="hidden", поскольку они оба функционируют по существу одинаково, за исключением того, что один не виден.

EDIT - Обратите внимание, что внесены изменения послепонимая, что console.log() не работает должным образом.

<form>
    <input type="text" name="myhidden" value="[placeholder]"/>
    <input type="button" name="mybutton" value="Click me!" rel="the value to copy 1"/>
</form>
<form>
    <input type="text" name="myhidden" value="[placeholder]"/>
    <input type="button" name="mybutton" value="Click me!" rel="the value to copy 2"/>
</form>
<form>
    <input type="text" name="myhidden" value="[placeholder]"/>
    <input type="button" name="mybutton" value="Click me!" rel="the value to copy 3"/>
</form>

$(document).ready(function(){
    $('input[name="mybutton"]').click(function(){
        var $hidden = $(this).parent('form').find('input[name="myhidden"]');
        console.log($hidden.val());
        $hidden.val($(this).attr('rel'));
        console.log($hidden.val());
    });
});

http://jsfiddle.net/WYJRm/4

1 голос
/ 08 января 2012
$("#the-formid input[name=the-name-you-know]").val()
0 голосов
/ 08 января 2012

Если вы действительно не хотите перебирать DOM, вам лучше просто указать идентификаторы элементов формы, что сделает код более простым и надежным.

А затем добавьте эту функцию в ваш файл Javascript

function copyFormValue(visibleID, hiddenID){
   visibleElement = document.getElementById(visibleID);
   hiddenElement =  document.getElementById(hiddenID);
   hiddenElement.value = visibleElement.value;
}

И вызывайте функцию, когда нажата ваша кнопка.

onclick="copyFormValue('userName', 'userNameHidden');"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...