문제

FORM, 어떤 이유로 든 양식 입력 변수를 통해 얻을 수 있습니다. onsubmit 그러나 사용하지 않습니다 action.

이것은 작동합니다 :

<form onsubmit="javascript:myFunc(this.city.value);">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>

이것은 작동하지 않습니다 (this.city.value NULL 인 것으로 밝혀졌다)

<form action="javascript:myFunc(this.city.value);">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>

왜 그런가요? onsubmit 얻을 수 있습니다 this.city.value 하지만 action 이벤트는 할 수 없습니까?

도움이 되었습니까?

해결책

양식 동작 태그는 아무것도 참조하지 않습니다 this

대신 절대 위치를 사용하십시오

action="javascript:myFnc(document.getElementById('city-field').value)"

다른 팁

편집하다: Christoph의 의견 덕분에 아래에서 나는 나의 큰 감독을 깨달았습니다. 그의 제안이 구현 된 최종 솔루션은 다음과 같습니다.

<form action="" onsubmit="myFunc(this.city.value); return false;">
    <p><input type="text" id="city-field" name="city" onfocus="this.select();" /> <input type="submit" value="Find" /></p>
</form>

이것은 당신이 필요로하는 일을해야합니다. 이전 응답에서 내 전적으로주의를 기울이지 않은 것에 대해 사과드립니다.

HTML 양식은 데이터 처리를 위해 서버의 스크립트에 데이터를 다시 제출하는 데 사용됩니다. 양식이 제출되면 양식 필드의 데이터는 이름 값 쌍의 형태로 서버로 전달됩니다. 여러 언어로 작성할 수있는 서버 측 스크립트는 들어오는 데이터를 처리하고 새로운 HTML 페이지를 브라우저로 반환하는 데 사용됩니다. 브라우저로 돌아온 페이지는 "등록에 감사합니다"메시지 또는 데이터베이스 쿼리에서 생성 된 검색 결과 목록에서 나올 수 있습니다.

양식은 서버의 다른 파일로 데이터를 전송하기위한 것입니다. 실제로 우리는 데이터를 보내는 데 필요한 경로 만 지정할 수 있습니다. 그래서 당신은 양식의 값을 얻을 수 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top