У меня есть веб-страница с полем ввода (календарь для выбора даты).
Проблема в том, что мне нужно прочитать это поле ввода из двух разных элементов формы, каждое из которых имеет собственное действие и другие значения.
| Календарь | [сделать это] [сделать это]
Я не хочу копировать поле ввода в обеих формах, так как это выглядело бы глупо. Какие-либо предложения?
Изменить: вот две формы:
<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>
Просто дайте ему уникальный идентификатор и используйте document.getElementById
как это в любом месте:
var myValue = document.getElementById("myInputID").value;
Таким образом, неважно, где находится input
, он может даже быть вне любой формы.
Редактировать:
Чтобы прочитать значение при onsubmit
, сначала добавьте часть 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; }
Надеюсь, это достаточно ясно! 🙂