2013-10-05 2 views
1

좋아요, iframe으로 포함 된 프로필에 별표 등급 시스템이 있습니다. 노출되는 데이터베이스 테이블 등으로는 안전하지 않지만 그럴 것입니다. 이제 우리는 1 ~ 5의 iframe 내부에있는 양식의 숨겨진 필드에 등급 값을 삽입하고 자동으로 제출하려고합니다. 우리는 어떻게 이것을 할 수 있습니까? 여러 온라인 예제가 작동하지 않습니다.iframe 양식 입력란에 텍스트 삽입하기 및 제출

내부 iframe이 :

<form action="submit_rating.php" method="POST"> 
    <input type="text" name="1" id="rate1" maxlength="1"> 
    <input type="text" name="2" id="rate2" maxlength="1"> 
    <input type="text" name="3" id="rate3" maxlength="1"> 
    <input type="text" name="4" id="rate4" maxlength="1"> 
    <input type="text" name="5" id="rate5" maxlength="1"> 
    <input type="submit" value="Rate" style="display:none;" /> 
</form> 

은 iframe :

<iframe src="http://domain.com/submit_rating.php" frameborder="0" scrolling="no" height="10" width="25" name="frame"></iframe> 

평가 링크 :

<a href="howtoinsert?">1</a> 
<a href="howtoinsert?">2</a> 
<a href="howtoinsert?">3</a> 
<a href="howtoinsert?">4</a> 
<a href="howtoinsert?">5</a> 

감사합니다. 제가 말했듯이, 다른 모든 예들은 쓰레기 였고 작동하지 않았습니다.

답변

1

이 (사용 JQuery와)처럼 작업을 수행 할 수 있습니다

평가 사이트 :

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
    <script> 
     function setRating(rating) { 
     var frame = $('iframe')[0].contentWindow.document; 
     $(frame).find('#rate'+rating).val('1'); 
     $(frame).find('form').submit(); 
     } 
    </script> 
    </head> 
    <body> 
    <iframe src="frame.html" frameborder="0" scrolling="no" height="10" width="25" name="frame"></iframe> 
    <a href="javascript:setRating(1)">1</a> 
    <a href="javascript:setRating(2)">2</a> 
    <a href="javascript:setRating(3)">3</a> 
    <a href="javascript:setRating(4)">4</a> 
    <a href="javascript:setRating(5)">5</a> 
    </body> 
</html> 

프레임 내용 :

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    </head> 
    <body> 
    <form action="submit_rating.php" method="POST"> 
     <input type="text" name="1" id="rate1" maxlength="1"> 
     <input type="text" name="2" id="rate2" maxlength="1"> 
     <input type="text" name="3" id="rate3" maxlength="1"> 
     <input type="text" name="4" id="rate4" maxlength="1"> 
     <input type="text" name="5" id="rate5" maxlength="1"> 
     <input type="submit" value="Rate" style="display:none;" /> 
    </form> 
    </body> 
</html> 

하지만 더 좋은 방법이 아약스를 사용하는 것입니다 :

<!DOCTYPE html> 
<html> 
    <head> 
    <title></title> 
    <script src="http://code.jquery.com/jquery-1.10.1.min.js"></script> 
    <script> 
     function setRating(rating) { 
     $.post('submit_rating.php', { 
      rating: rating 
     }); 
     } 
    </script> 
    </head> 
    <body> 
    <a href="javascript:setRating(1)">1</a> 
    <a href="javascript:setRating(2)">2</a> 
    <a href="javascript:setRating(3)">3</a> 
    <a href="javascript:setRating(4)">4</a> 
    <a href="javascript:setRating(5)">5</a> 
    </body> 
</html> 
+0

이제 맞춤 값을 삽입하려는 경우 , 어떻게해야합니까? $ (frame) .find ('# about_me'+ rating) .val ('1'); 예제 사용자 정의 입력 이름. 고맙습니다 –

관련 문제