문제

내가 사용하는 웹 페이지 십자가 페이지에 게시물을 게시하는 다른 대상이 페이지입니다.

새로운 요구 사항이 생겨났다는 뜻이 될 수 있다 4 개의 다른 페이지를 타겟팅을 게 너무에 따라 어떤 데이터가 입력되는 클라이언트 측에서 작동합니다.

은 그것을 가능하게 변경 십자가 페이지에 게시 대상으로 동적으로 클라이언트에 있는?

보고에서 원본에서 html 나는 그것이 사용하는 것이 가능 jquery 조작하고 다시 게시 대상에서 제출 버튼이지만,이것은 비트입니다.

에는 어떤 것이 있는 대안,다시 작성한 페이지를 제거하는 크로스 페이지에 게시하고 응답을 리디렉션을 통과 데이터 session?

도움이 되었습니까?

해결책

예, 당신은 확실히 변경할 수 있습니다 action 양식의. 나는 그것을하는 방법을 안내해 줄게.

먼저, 양식에는 HTML에 지정된 이름과 조치 URL이 있어야합니다.

<form name="aformiam" method="post" action="/somewhere/to/go.php">

다음으로 양식 제출시 JavaScript를 실행하려고하므로 제출 버튼의 on Click 속성을 다음과 같은 기능으로 설정해야합니다.

<input type="submit" value="Send Form" onClick="return submitForm();" />

마지막으로 양식 조치를 실제로 변경하고 양식을 제출하는 JavaScript 기능입니다.

function submitForm() {
  // do anything here you need to determine which URL to post to
  // I am just making an example here
  var targetURL = '/some/url/to/post.php';

  // now we will change the form's action
  document.aformiam.action = targetURL;

  // finally, submit the form by returning true
  return true;
}

우리가 true를 반환하는 마지막 단계에서 입력 요소의 유형이이기 때문에 양식을 제출합니다. submit 그리고 함수는 다음에 의해 트리거됩니다 onClick 이벤트. 예를 들어 이것이 a button 입력 요소를 입력하십시오 a 태그 또는 img 그런 다음 다음과 같은 것을 사용하여 제출할 양식을 트리거해야합니다.

document.aformiam.submit();

이 솔루션은 조치를 변경하고 하나의 URL. 한 번에 여러 URL에 게시 해야하는 경우 xmlhttprequest와 같은 다른 방법을 사용해야합니다. 이것이 사실이라면, 설명을 표시하면 그 예를 제시하겠습니다.

다른 팁

를 변경해 보시기 바 action 특성 양식의 자바스크립트를 사용하여 그 전에 양식을 제출.

불행하게도,대부분의 브라우저 지원하지 않는 게시물 리디렉션이 있습니다.도 RFC 노트:

RFC1945 년 RFC2068 지정하는 클라이언트는 허용되지 않습 을 변경하는 방법에는 리디렉션된 요청을 합니다.그러나,대부분의 기존에 사용자 에이전트 구현 치료 302 것처럼 303 응답을 수행하에 위치 필드 값에 관계없이 의 원래 요청 방법입니다.이 상태 코드 303 및 307 가 추가하는 서버의 소원을 명확하게 취소 반응의 종류이상의 클라이언트입니다.

그래서,이럴 경우 선택 항목은 다음과 같습니다 제한하거나 JavaScript action 수정하거나 재시 데이터 서버에서(서버지는 게시된 데이터를 분석하고 수행하는 게시물에 의해 자).

데이터 저장에 세션(또는 반환하는 게시물)및 다시 다시 클라이언트에서 중 하나가 필요합 JavaScript 지원(자동 양식을 제출)또는 사용자 만들기'제출'버튼을 클릭합니다.고려할 수 있습니다이 방법을 사용하여 대체로,하지만.

기본값으로 action 점을 대체 스크립트입니다.당신이 성공하는 경우 수정 action 제출하기 전에 모든 것은 괜찮습니다.는 경우가 못 같은 경우에는 JavaScript 는 장애인들에게 당신의 대체 스크립트 출력에 페이지에 숨겨진 데이터 필드(그래서 그것을 수정하지 않아야 합 더 이상)시 제출 버튼 게시 데이터를 적절한 위치에 있습니다.

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