从表单元素外部的输入标记读取

时间:2011-05-16 11:54:15

标签: php javascript html forms input

我有一个带有输入字段的网页(用于选择日期的日历) 问题是我需要从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 个答案:

答案 0 :(得分:3)

只需给它唯一的ID,并在任意位置使用document.getElementById

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

这样input所在的位置无关紧要,甚至可以是任何形式的外部。

编辑:
要在提交时阅读该值,请先将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;
}

希望它足够清楚! :)