2017-08-30 14 views
0

Ich habe eine continue Taste auf meiner Seite, wo, wenn ein Benutzer klickt ich eine Validierungsfunktion aufrufen und wenn es Fehler auf der Seite Ich zeige sie oben und blättern Sie zu ihnen mit window.scrollTo(0,0);window.scrollTo funktioniert nicht wenn in iframe

Nun wird diese Seite in eine iframe geladen und die window.scrollTo(0,0); funktioniert nicht. Ich habe versucht alle möglichen Möglichkeiten wie window.parent.scrollTo(0,0); oder $('#error_msg_smry').animate({ scrollTop: 0 }, 0);, aber nichts funktioniert.

Unten ist mein Code (Fehlermeldung div unten):

<div id="error_msg_smry" class="error_msg_summary" style="display:none;" > 
    <br/> 
    <div class="error_msg_heading">Sorry, but we cannot process your donation until the following errors have been fixed:</div> 
    <div>&nbsp;</div> 
    <div class="error_messages"> 
     <div id="selDonationErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="otherAmtErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="lessDonationErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="recipientErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="firstNameErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="lastNameErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="emailErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="creditCardNameErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="creditCardNumberErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="creditCardExpiryMonthErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="creditCardExpiryYearErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
     <div id="creditCardCCVErr" class="textClass" style="color:#b94a48; font-weight:400;"></div> 
    </div> 
    <br/> 
</div> 

Der Button:

<apex:commandButton styleclass="btn" action="{!makeDonation}" onClick="return validate();" value="Continue"/>  

Und in meiner Validate Funktion die folgende ich tun:

if(isPass == false){ 
    document.getElementById("error_msg_smry").style.display = 'block'; 
    window.scrollTo(0,0); 
} 

Ich habe keinen Zugriff auf die übergeordnete Seite (außerhalb meines iframe).
Kann mir jemand bitte

+0

alle Updates zu diesem Thema:

ich beschlossen es zu schreiben Code unten? – shareef

Antwort

0

Posting meine Antwort helfen, wenn jemand das gleiche Problem und suchen nach einer Lösung, mit Blick auf: bitte

if(isPass == false){ 
        document.getElementById("error_msg_smry").style.display = 'block'; 
        // window.scrollTo(0,0); 

        var div = document.createElement("div"); 
         div.innerHTML = "<a style='position:absolute;left:0;top:0px' href='#'></a>"; 
         div = div.firstChild; 
         document.body.appendChild(div); 
         div.focus(); 
         div.parentNode.removeChild(div); 
       } 
       else{ 
        document.getElementById("error_msg_smry").style.display = 'none'; 
       } 

       return isPass; 
      } 
Verwandte Themen