2014-09-08 2 views
0

Je fais un site d'enregistrement de cricket avec un groupe de personnes qui ont décidé d'utiliser Ruby on Rails pour la gestion de la base de données. Nous essayons également d'en faire une page, alors j'ai les formulaires d'enregistrement en cours de chargement sur iFrames. Je sais que ce n'est pas idéal, et si nous utilisions PHP, je serais capable d'utiliser Ajax, mais je ne connais pas d'autre moyen d'utiliser iFrames. La difficulté avec ceci est, je ne peux pas redimensionner ces iFrames quand un bouton à l'intérieur d'eux est cliqué. Par exemple, il y a ceci:Redimensionner iframe et la fenêtre sur div cliquez

<div class="links"> 
    <%= link_to_add_association 'Add Player', f, :players %> 
</div> 

Ce qui est un bouton à l'intérieur de la classe « liens » qui dit: « Ajouter le joueur ». Lorsque vous cliquez dessus, le contenu est déplacé vers le bas, remplissant le formulaire avec plus de formes à remplir. Cependant, comme l'Iframe a déjà sa hauteur, il ne s'ajuste pas correctement, laissant le contenu supplémentaire caché.

Y at-il un moyen de résoudre ce problème? Sinon, est-il possible d'éviter d'utiliser iFrames tout en conservant l'aspect d'une page?

Salut les gars!

+0

Ruby on Rails ne vous laissez pas utiliser ajax? Quoi qu'il en soit, les iframes peuvent avoir des arrière-plans transparents ... – Popnoodles

Répondre

0

Il y a un événement iframe onload qui peut vous remplacer la hauteur existante de iframe. Disons:

<iframe id='stipsImage' onload='iFrameLoaded()' src='http://...' />...</iframe> 

puis sur votre javascript:

//apply css on iframe when ready 
iFrameLoaded() { 
    $('#stipsImage').contents().find("body") 
      .append($("<style> " + 
        " body{ text-align: center; } " + 
        " img{ width: 700px; height: 748px; margin: auto; border: 1px solid #ccc } " + 
         "</style> ")); 
    } 
Questions connexes