JavaScript- 양식 OnSubmit Works이지만 액션은 그렇지 않습니다
-
13-09-2019 - |
문제
내 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 페이지를 브라우저로 반환하는 데 사용됩니다. 브라우저로 돌아온 페이지는 "등록에 감사합니다"메시지 또는 데이터베이스 쿼리에서 생성 된 검색 결과 목록에서 나올 수 있습니다.
양식은 서버의 다른 파일로 데이터를 전송하기위한 것입니다. 실제로 우리는 데이터를 보내는 데 필요한 경로 만 지정할 수 있습니다. 그래서 당신은 양식의 값을 얻을 수 없습니다.