누군가 로그인하기 전에 데이터와 함께 양식을 제출하는 방법은 무엇입니까?

StackOverflow https://stackoverflow.com/questions/139921

  •  02-07-2019
  •  | 
  •  

문제

다소 큰 입력 양식 (수백 개의 필드, 인벤토리 응용 프로그램)에 Document.form.submit () 함수를 사용하고 있습니다. 사용자가 일정 시간 동안 유휴 상태였으며 입력 한 데이터를 저장하고 싶습니다. 이것을 시도 할 때 페이지를 다시로드하지만 (작업은 #) 필드에 입력 한 새 텍스트는 요청에 전달되지 않으므로 DB에 넣을 수 없습니다. 이런 일이 일어나거나 내 코드가 함께 놀지 않는 근본적인 이유가 있습니까 (ExtJS 그리드보기를 사용하여 유휴 시간을 추적하기위한 양식과 라이브러리를 표시하고 있습니다)? 고마워요, 로버트

도움이 되었습니까?

해결책

나는 여기에 답을 넣은 것 같아요. 내가 찾은 것은 이것을하는 것입니다 : settimeout ( 'frm.submit ();', 2000); 페이지가 다시로드되었지만 양식을 제출하지 않았습니다. 내가 이것을했을 때 : frm.submit (); 양식이 제출되고 데이터가 통과되었습니다. 첫 번째 방법이 왜 작동하지 않았는지 모르겠지만 알 필요는 없습니다 :)

다른 팁

서버가 입력 값을 무효화 할 수 있습니다. 서버의 페이지가 다음과 같다고 가정하십시오.

<form action="/page.cgi">
  ...
  <input name="Fieldx" value=""/>
</form>

필드를 무효화 할 것이라고 생각합니다. 또는 이것은 서버 작업이 간접적으로 설정 될 수 있습니다. JSF에서는 이와 같은 것입니다.

<input name="Fieldx" value="#{bean.nullProperty}"/>

서버에는 무엇이 있고 브라우저는 무엇입니까?

입력 필드가 포함되어 있는지 확인하기 위해 HTML 사후 요청을 포착하려고합니다. 그들이 당신의 서버에 문제가 있습니다.

그러나 당신이 말한 것에 관해, 나는 당신의 브라우저가 JavaScript dom을 처리하는 방식에 충돌이 있기 때문이라고 생각합니다. 양식에 제출 버튼을 제거하고 작동하는 경우에 해당 될 수 있습니다.

그만큼 submit 의 방법 HTMLFormElement 객체는 사용자가 제출 버튼을 클릭 한 것처럼 양식을 제출해야합니다. 그렇다면 action 양식의 속성이 설정됩니다 #, 양식 데이터를 동일한 페이지로 보내기 때문에 페이지를 새로 고치는 것처럼 보입니다.

그래도 다른 페이지로 액션 속성을 설정할 때 여전히 그렇게하는 것이 이상합니다.

입니다 method 양식의 속성 get 또는 post?

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