чтение из тега ввода вне элемента формы - PullRequest
0 голосов
/ 16 мая 2011

У меня есть веб-страница с полем ввода (календарь для выбора даты).
Проблема в том, что мне нужно прочитать это поле ввода из 2 разных элементов формы, каждый из которых имеет свое собственное действие и другие значения.

|calendar|   [do this]   [do that]

Я не хочу копировать поле ввода в обеих формах, так как это будет выглядеть глупо. Есть предложения?

Редактировать: вот две формы:

<form action="/adm/user/credit/update?sms=<?=$id?>&user=<?=$user?>" method="post">
    <input type="hidden" name="isPaid" value="1"/>
    <label for="datums">Datums: </label>
    <input type="text" id="datums" name="datums"/>
    <input type="submit" value="Paid" style="background-color:green; color:white"/>
</form>
<form action="/adm/user/credit/extend?sms=<?=$id?>&user=<?=$user?>" method="post">
    <input type="hidden" name="phone" value="<?=$phone?>">
    <select name="period">
        <option value="7">7</option>
        <option value="14">14</option>
        <option value="30">30</option>
    </select> days
    <input type="submit" value="Extend" style="background-color: blue; color: white">
</form>

1 Ответ

3 голосов
/ 16 мая 2011

Просто дайте ему уникальный идентификатор и используйте document.getElementById так, как вы хотите:

var myValue = document.getElementById("myInputID").value;

Таким образом, не имеет значения, где находится input, он может быть даже вне любой формы.

Edit:
Чтобы прочитать значение при отправке, сначала добавьте часть onsubmit в соответствующую форму:

<form action="....." onsubmit="ReadValue(this);">

А теперь разместите это на своей странице:

<script type="text/javascript">
function ReadValue(oForm) {
   var myValue = document.getElementById("myInputID").value;
   alert("value is: " + myValue);
}
</script>

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

function ReadValue(oForm) {
   var myValue = document.getElementById("myInputID").value;
   oForm.elements["myHiddenFieldId"].value = myValue;
}

Надеюсь, это достаточно ясно! :)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...