2013-04-28 2 views
1

은 내가에서 getElementById() 입력 폼

<select id="start" onchange="calcRoute();"> 
    <option value="somevalue">Dropdown 1</option> 
    <option value="somevalue">Dropdown 2</option> 
    <option value="somevalue">Dropdown 3</option> 
</select> 

모든 것이 제대로 작동 후

function calcRoute() { 
    var start = document.getElementById('start').value; 
} 

그리고있다. 이제 드롭 다운 목록 대신 입력 상자가 필요합니다. 문제는 내가

<form onsubmit="calcRoute();" method="get" id="start" action="#"> 
<input type="text" id="start" name="start"> 
<input type="submit" value="Go"> 
</form> 

과 노력하지만 ... 당신은 데모 here을 볼 수 있습니다 (이 서버에 양식을 제출 것) 작동하지 않습니다. 드롭 다운 목록은 필요 없다는 것을 기억하십시오 (모든 것이 작동한다는 것을 증명할 수있는 것입니다). 그래서 두 번 호출 된 함수의 문제는 없습니다. 자바 스크립트가없는 이름, ID를 검색으로

<input type="text" id="start" name="start"> 

:

<input type="text" id="startText" name="start"> 

사람 : 미리 감사는

+0

같은 id를 가진 요소가 여러 개 있습니다. 입력에 onsubmit 특성이 없습니다. – Musa

+0

두 개의 요소 (드롭 다운 및 입력 상자)를 사용하여 드롭 다운이 작동하는 것을 볼 수 있습니다 (입력 상자는 그렇지 않습니다). 여기를보세요 (드롭 다운 없음) : http://ffio.it/test4.html – MultiformeIngegno

+0

입력 요소의 ID는 (start 대신 startText) 잘못된 것입니다. 내 대답을 아래에서보십시오. –

답변

1

:-) 당신은에서 변경해야합니다.

var start = document.getElementById('startText').value || document.getElementById('start').value; 
: 당신이 입력과 같은 페이지의 드롭 다운 목록을 사용하려면

, 당신은 그냥 뭔가에 변수 정의를 변경 (그리고 코드에서 ID는 무엇 자바 스크립트가 검색됩니다 다릅니다)

입력이 비어있는 것처럼 Javascript는 드롭 다운 목록의 값을 사용합니다. 양식 제출을 허용하지

<form> 
    <input type="text" id="start" name="start"> 
    <input type="button" onclick="calcRoute();" value="Go"> 
</form> 

다음 ID의 변화에 ​​ADITION에서

업데이트

는 같은 뭔가 양식을 변경합니다.

+0

같은 페이지에서 드롭 다운 목록을 사용하는 경우 입력의 ID와 자바 스크립트 검색의 ID 만 변경하십시오 (이름 충돌이없는 경우) –

+0

드롭 다운 목록이 같은 페이지에 필요 없습니다. 난 그냥 데모에 넣으면 작동하는 것을 볼 수 있습니다 (입력 상자는 그렇지 않습니다). 어쨌든 나는 당신의 변화를 만들었지 만 여전히 작동하지 않는 것 같습니다. (-> http://ffio.it/test4.html – MultiformeIngegno

+0

@MultiformeIngegno 답변에서 업데이트보기 –