Hallo allemaal ik heb een vraagje over een wysiwyg editor en javascript om het bericht te verstuuren. http://www.efectorelativo.net/laboratory/wysiwyg/
Ik heb deze editor gister een in me site gebouwd, maar nu werkt het verzende van een bericht niet meer om dat de wysiwyg gebruikt maakt van een iframe voor heen maakt ik gebruik van deze javascript code:
function comments(srv)
{
var user_id = document.forms["comment"].user_id.value;
var user_name = document.forms["comment"].user_name.value;
var module_name = document.forms["comment"].module_name.value;
var onderwerp = document.forms["comment"].onderwerp.value;
var bericht = document.forms["comment"].bericht.value;
var privat = document.forms["comment"].privat.checked;
Daar mee haalde ik alles op uit het berichten form en stuurde ik het naar de php file die het opslaat in een db.
Maar als ik de wysiwyg editor aan zet ziet hij niets meer in de <textarea om dat hij gebruikt maakt van een iframe.
Hoe los ik dit probleem op ?
Gr ramon
Bedankt robert alleen zit met het punt dat ik geen form in de ifame heb.
Hier onder mijn form. textarea("bericht word vervangen door de wyiswyg.
Door javascript, dat dus met een iframe merkt het selecteren van de frame lukt alleen de tekst er uit hale niet ik zal hier onder ook mijn javascript file zetten van de wyiswyg dan kan je zien hoe het is opgeboud.
<?php
$form_obj->form("javascript:void(0);", "post","comment","","","","comments('".HTTP_SERVER."');");
$form_obj->input("hidden","module_name","".$Module_name."");
$form_obj->input("hidden","user_name","".$User_name."");
$form_obj->input("hidden","user_id","".$User_id."");
echo "<br/>";
echo T_MOD_PROFILE_26;
$form_obj->input("text","onderwerp","");
echo "<br/>";
$form_obj->textarea("bericht","","45","5");
echo "<br/>";
echo T_MOD_PROFILE_27;
$form_obj->input("checkbox","privat","1");
echo "<br/>";
$form_obj->input("submit","comment","".T_MOD_PROFILE_28."","","","","","");
$form_obj->formend();
?>
<?php
/*
Author:
luistar15, <leo020588 [at] gmail.com>
License:
MIT License
Class
wysiwyg (rev.06-07-08)
Arguments:
Parameters - see Parameters below
Parameters:
textarea: textarea dom element | default: first textarea
klass: string | css class | default: 'wysiwyg'
src: string | iframe src | default: 'about:blank'
buttons: array | list editor buttons | default: ['strong','em','u','superscript','subscript',null,'left','center','right','indent','outdent',null,'h1','h2','h3','p','ul','ol',null,'img','link','unlink',null,'clean','toggle']
null -> spacer
Methods:
toggleView(): toggle view iframe <-> textarea and update content
toTextarea(view): update content from iframe to textarea
view: bolean | if is true, change view | default:false
toEditor(view): update content from textarea to iframe
view: bolean | if is true, change view | default:false
exec(cmd,value): execute command on iframe document
clean(html): return valid xhtml string
Requires:
mootools 1.2 core
*/
var wysiwyg = new Class({
initialize: function(params){
this.TA = params.textarea || document.getElement('textarea');
this.TB = new Element('div',{'class':'toolbar'});
this.IF = new Element('iframe',{'frameborder':0,'src':(params.src||'about:blank')}).addEvent('load',function(){
this.doc = this.IF.contentWindow.document;
this.doc.designMode = 'on';
this.toggleView();
}.bind(this));
this.CT = new Element('div',{'class':(params.klass||'wysiwyg')}).injectBefore(this.TA).adopt(this.TB,this.IF,this.TA);
this.open = false;
$each((params.buttons||['strong','em','u','superscript','subscript',null,'left','center','right','indent','outdent',null,'h1','h2','h3','p','ul','ol',null,'img','link','unlink',null,'clean','toggle']),function(b){
if(!b){
new Element('span',{'class':'spacer'}).inject(this.TB);
}else if(Browser.Engine.trident){
new Element('a',{'class':b,'href':'//'+b}).addEvent('click',function(e){
var ev = new Event(e); ev.stop();
if(b=='toggle'){
this.toggleView();
}else{
this.exec(b);
}
}.bind(this)).inject(this.TB);
}else{
new Element('span',{'class':b}).addEvent('click',(b=='toggle'?this.toggleView.bind(this):this.exec.bind(this,[b]))).inject(this.TB);
}
},this);
},
Um als ik alleen window.frames['wysiwyg']; doe werkt hij als ik.document.getElementByid('').value doe stopt hij.
Hij geeft de error: windows.frames.wysiwyg.document is undefined
var bericht1 = window.frames['wysiwyg'].document.getElementById('bericht');
alert(bericht1);