2013-08-27 5 views
0

나는 이미 비슷한 질문을 모두 읽었지만 필요한 답을 찾지 못했습니다.단일 양식의 두 가지 작업

는 그래서, 사용자 이름, 암호로 구성되어 있으며 "에서 rememberme"확인란 원격 호스트의 HTML 양식이 있습니다

<form method="POST" action="http://1.2.3.4:5000/webman/login.cgi"> 
    <p><input type="text" name="username" value="" placeholder="Username or Email"></p> 
    <p><input type="password" name="passwd" value="" placeholder="Password"></p> 
    <p class="remember_me"> 
     <label> 
     <input type="checkbox" name="rememberme" id="remember_me"> 
     Remember me on this computer 
     </label> 
    </p> 
    <p class="submit"><input type="submit" name="commit" value="Login"></p> 
    </form> 

내가하고 싶은 것은 (다른 하나의 양식에서 데이터를 제출하는 것입니다 다른 하나는 내 Synology NAS 로그인 양식입니다.) 그러나 문제는 내가 action="http://1.2.3.4:5000/webman/index.cgi"이라고 쓰면 아무 것도하지 않는다는 것입니다. (그냥 두 번째 로그인 폼으로 보냅니다). 하지만 action="http://1.2.3.4:5000/webman/login.cgi"를 사용하는 경우, 그것은 (올바른 사용자 이름 & passwd를 포함) 다음이 표시되는 경우에만 login.cgi 페이지로

{ "result" : "success", "success" : true } 

저를 전달하지만 : 나는 브라우저에 login.cgiindex.cgi에 변경하는 경우, 기본 양식을 통해 성공적으로 로그인하면 바탕 화면으로 이동합니다.

그래서,이 기준으로, 질문은 : 어떻게 login.cgi로 데이터를 전송하지만 .../index.cgi에 사용자를 리디렉션?

답변

0

두 가지 형식이 필요합니다. 양식을 작성할 수 없습니다. 자바 스크립트를 사용하여 양식간에 데이터를 복사해야합니다. 다음과 같이하면됩니다.

function copydata() { 
    document.form1.username.value = document.form2.username.value; 
    document.form1.passwd.value = document.form2.password.value; 
    return 1; 
} 

나는이 두 가지 작업으로 로그인 할 수 있습니다. 보조 (두 번째 양식 제출) 제출 단추를 클릭 할 때 한 번만이 코드를 적용하면됩니다.

+0

답변 해 주셔서 감사합니다. .../login.cgi에 데이터를 POST하지만 사용자를 .../index.cgi로 리디렉션하는 로컬 PHP 파일에 하나의 액션 만 만들 수 있습니까? –

+0

login.cgi 파일에서 해당 리디렉션을 수행해야합니다. 양식이 제출되면 제출됩니다. – pregmatch

+0

아, 죄송 합니다만 언급하는 것을 잊었습니다. login.cgi 파일에 액세스 할 수 없습니다. 사실, 가지고 있지만 내용은 모두 압축되어 있습니다. 브라우저를 통해 액세스하면 질문에 할당 한 것과 거의 동일한 배열을 얻을 수 있습니다. –

0

<form method="POST" action="http://1.2.3.4:5000/webman/login.cgi">에서 <iframe id="login_iframe" name="login_iframe" width="0" height="0" frameborder="0" style="display: none;" ></iframe> 줄을 추가하려면 위에 target="login_iframe"을 추가해야합니다.

다음은 확인 후 사용자를 리디렉션하기위한 스크립트입니다. 어떤 조건이

<script> 
    $(document).ready(function(){ 
     $("#login_iframe").on("load", function(){ 
      location.href = "https://the address of the page/"; 
     }); 
    }) 
    </script> 

당신은 리디렉션 주소를 변경해야 "암호가 정확하지 않은 경우 다음 비문을 팝업해야한다"가 없기 때문에 스크립트가 절반 만 작동하고 있음을 알 수 있습니다.

관련 문제