2011-05-16 7 views
0

나는 입력 필드 (날짜를 선택할 수있는 달력)가있는 웹 페이지가 있습니다.
문제는 각각의 작업과 다른 값을 가진 두 가지 양식 요소에서 입력 필드를 읽어야한다는 것입니다.양식 요소 외부의 입력 태그에서 읽음

 
|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> 

답변

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; 
} 

희망이 충분합니다. :)

+0

불행히도 자바 스크립트에 대해 거의 알지 못합니다. 사용 예제를 추가 할 수 있습니까? 제출시 그 값을 어떻게 읽습니까? – jurchiks

+0

@jur sure - 내 편집을 참조하십시오. –

+0

그래서 두 양식에 숨겨진 필드를 추가하고 그 값을 외부 입력 필드의 값으로 설정하십시오. ''과 마찬가지로 값은 제출시 변경됩니까? – jurchiks

관련 문제