[opgelost] code uit iframe halen
svm - 27/01/2007 17:31 (laatste wijziging 27/01/2007 21:47)
PHP ver gevorderde
Beste mensen,
Ik heb een iframe.
Hierin wordt een pagina geinclude, die ik even pagina.php noem.
Deze wordt gewijzigd in dat iframe (wysiwyg) en als ik dan wil ik dat de code weergeven wordt als ik op een knop druk.
Deze code moet opgeslagen worden in een PHP variable.
Hoe doe ik dit?
Groeten,
svm
26 antwoorden
Gesponsorde links
svm - 27/01/2007 17:51
PHP ver gevorderde
lukt niet.
Want dan heb ik de code van de pagina, maar zoals ik al zei wordt de code bewerkt door de wysiwyg editor.
Maar hoe kom ik aan die code?
jelle - 27/01/2007 17:59
PHP beginner
mischien met javascript kun je de code tonen document.source of zoiets ik weet nie of het werkt hoor
svm - 27/01/2007 18:29
PHP ver gevorderde
Oke, ik heb het voor elkaar gekregen de nieuwe code in een JS variable te zetten:
var htmlCode = iframe.document.body.innerHTML;
var htmlCode = iframe. document. body. innerHTML;
Maar nu moet ik hem nog in een PHP variable krijgen.
Hoe doe ik dat?
svm - 27/01/2007 18:41
PHP ver gevorderde
hoe wil je dat ik die textarea niet laat zien?
svm - 27/01/2007 19:04
PHP ver gevorderde
letterlijk geciteerd:
lukt niet.
Want dan heb ik de code van de pagina, maar zoals ik al zei wordt de code bewerkt door de wysiwyg editor.
Maar de code uit het iframe heb ik al in js
jelle - 27/01/2007 19:31 (laatste wijziging 27/01/2007 19:39)
PHP beginner
mischien kun je dit proberen
<?
$htmlcode = "?><script language="javascript">iframe.document.body.innerHTML;
</script>
<? "
?>
<?
rest van je code
?>
zoiets denk ik mischien??
Ibrahim - 27/01/2007 19:40
PHP expert
jelle, dat gaat zeker niet werken want ?> zijn gewone tekens als ze binnen quotes zitten
<div style="display: none;">
formulier
</div>
< div style= "display: none;" >
formulier
</ div>
om het te verbergen
Grayen - 27/01/2007 19:59
PHP ver gevorderde
@jelle
Je gaf een verkeerd voorbeeld, maar jouw idee is wel de makkelijkste methode om wat svm vraagt toe doen. Doe het als volgt:
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new']))
{
$htmlCode = '<script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>';
// Verdere verwerking van formulier.
}
?>
<!-- Het formulier -->
<form method="post" action="">
<iframe id="iframe"></iframe>
<input type="submit" name="add" value="Voeg toe" />
</form>
<?php
if ( $_SERVER [ 'REQUEST_METHOD' ] == 'POST' && isset ( $_POST [ 'new' ] ) ) {
$htmlCode = '<script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>' ;
// Verdere verwerking van formulier.
}
?>
<!-- Het formulier -->
<form method="post" action="">
<iframe id="iframe"></iframe>
<input type="submit" name="add" value="Voeg toe" />
</form>
svm - 27/01/2007 20:04 (laatste wijziging 27/01/2007 20:04)
PHP ver gevorderde
grayen, zo zal het js-code in die variable opgeslagen worden.
En dus niet de uitwerking van die code.
Of zeg ik het nu fout?
Grayen - 27/01/2007 20:09 (laatste wijziging 27/01/2007 20:10)
PHP ver gevorderde
ja dat zeg je heel fout , ik heb je een tijd terug hier zelfs nog een emailtje over gestuurd, omdat jij ooit een vroeg naar hoe je de resolutie van iemands beeldscherm kon weten en die in een php variable stoppen namelijk als volgt:
<?php
$sResolution = '<script type="text/javascript">document.write(screen.width + " x " + screen.height);</script>';
?>
<?php
$sResolution = '<script type="text/javascript">document.write(screen.width + " x " + screen.height);</script>' ;
?>
Ik dacht ook altijd dat hij dan de js code zou plaatsen, maar het werkt blijkbaar .
Nou weet ik nog niet zeker of het wat ik bij vorige post heb gepost werkte, omdat ik het niet heb getest, maar ik denk van wel
Ik zal het ff testen, want ik wil zelf ook dit jouw wysiwyg editor gebruiken
svm - 27/01/2007 20:16
PHP ver gevorderde
oke, dan weet ik dat ook weer.
het kan zijn dat het heb in de quotes zit (' en ").
Ik zal eens testen...
svm - 27/01/2007 20:30 (laatste wijziging 27/01/2007 20:31)
PHP ver gevorderde
Niet in ff nee
In ff moet het zijn:
document.getElementById("iframe").contentWindow.document.body.innerHTML;
document. getElementById( "iframe" ) . contentWindow. document. body. innerHTML;
Of:
document.getElementById("iframe").body.innerHTML;
document. getElementById( "iframe" ) . body. innerHTML;
Grayen - 27/01/2007 20:33 (laatste wijziging 27/01/2007 20:33)
PHP ver gevorderde
klopt kwam er net achter, dus pas ik het zo toe:
if(window.navigator.appName == 'Microsoft Internet Explorer') document.write(iframe.document.body.innerHTML);
else if(window.navigator.appName == 'Netscape') document.write(document.getElementById('iframe').contentDocument.body.innerHTML);
if ( window. navigator. appName == 'Microsoft Internet Explorer' ) document. write( iframe. document. body. innerHTML) ;
else if ( window. navigator. appName == 'Netscape' ) document. write( document. getElementById( 'iframe' ) . contentDocument. body. innerHTML) ;
svm - 27/01/2007 20:39
PHP ver gevorderde
Ja, maar we gaan nu offtopic hè.
Ik krijg als ik JS in een php var opsla gewoon de JS code en niet de uitwerking.
jelle - 27/01/2007 20:45 (laatste wijziging 27/01/2007 20:46)
PHP beginner
haal de ' ' is weg bij de javascript
mischien werkt het
svm - 27/01/2007 20:49
PHP ver gevorderde
Ik snap je niet.
Kun je een voorbeeld geven?
jelle - 27/01/2007 20:59 (laatste wijziging 27/01/2007 21:00)
PHP beginner
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new']))
{
$htmlCode = <script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>;
// Verdere verwerking van formulier.
}
?>
of
<?php
if($_SERVER['REQUEST_METHOD'] == 'POST' && isset($_POST['new']))
{
$htmlCode = ?><script type="text/javascript">document.write(iframe.document.body.innerHTML);</script>;<?
// Verdere verwerking van formulier.
}
?>
heb de ' '
weg gehaalt
ben begineling dus weet nie of werkt
svm - 27/01/2007 21:05
PHP ver gevorderde
nee, zal beide errors weergeven, jelle.
@grayen oke:D
Gesponsorde links
Dit onderwerp is gesloten .