3
沒有人有知道如何提交包含Dojo富文本編輯器的形式?表單提交了Dojo富文本編輯器
我試着加入「名」屬性來我的元素裝飾着的dojoType =「dijit.Editor」,但是,我沒有看到任何的HTML我的接收過程。
我檢查的文件,我沒有看到任何明顯的例子(比隨的「值」設置了一個隱藏輸入的數據的另一個功能連接形式的對提交事件在其他問題富文本編輯器「)。
我會假設必須有一些‘容易’的方式來做到這一點?
沒有人有知道如何提交包含Dojo富文本編輯器的形式?表單提交了Dojo富文本編輯器
我試着加入「名」屬性來我的元素裝飾着的dojoType =「dijit.Editor」,但是,我沒有看到任何的HTML我的接收過程。
我檢查的文件,我沒有看到任何明顯的例子(比隨的「值」設置了一個隱藏輸入的數據的另一個功能連接形式的對提交事件在其他問題富文本編輯器「)。
我會假設必須有一些‘容易’的方式來做到這一點?
這裏IM能值發送到服務器,並且能夠在提交的值重新顯示爲編輯器的初始顯示值。
<html>
<head>
<style type="text/css">
@import "http://ajax.googleapis.com/ajax/libs/dojo/1.5/dijit/themes/claro/claro.css";
</style>
<script src="djlib/dojo/dojo.js" type="text/javascript" djConfig="parseOnLoad:true"></script>
<link rel="stylesheet" href="djlib/dojox/grid/resources/Grid.css" type="text/css" />
<body class="claro">
<?php if(count($_POST) > 0) {
echo '<script>function dumpSubmittedEditorValue(){}</script>';
echo "<script>var submittedEditorValue = '$_POST[ed1]'</script> ";
}
?>
<form jsId="frm1" dojoType="dijit.form.Form" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<input type="hidden" name="ed1" />
<span dojoType="dijit.form.Button">
Submit
<script type="dojo/method" event="onClick">
frm1.submit();
</script>
</span>
</form>
<div dojoType="dijit.Editor" id="editor1">
<script type="dojo/method">
this.hiddenField = dojo.query("[name=ed1]")[0];
//console.log(this.hiddenField);
/*dojo.connect(this.document.body,'onload',function(){
console.log("A");
console.log(this.document.body);
})*/
</script>
<script type="dojo/method" event="onChange" args="val">
//1st format. <p> hi - should be - <p>HI
var str = dojo.string.trim(val);
var tagsEncoded = dojox.html.entities.encode(str, encodecustomMap);
var whiteSpaceEncoded= tagsEncoded.replace(/\s/ig,"%20");
this.hiddenField.value = whiteSpaceEncoded;
console.log(this.hiddenField.value)
//console.log(dojox.html.entities.decode(whiteSpaceEncoded.replace(/%20/ig," "), decodecustomMap))
</script>
</div>
<script>
var decodecustomMap = [
["\u003C", "lt"],
["\u003E", "gt"],
["\u0026", "amp"]
];
var encodecustomMap = [
["\u003C", "lt"],
["\u003E", "gt"]
];
</script>
</body>
<script>
dojo.require("dijit.Editor");
dojo.require("dojox.html.entities");
dojo.require("dijit.form.Form");
dojo.addOnLoad(function(){
console.log(dojo.query("iframe", dijit.byId("editor1").domNode))
dojo.connect(dojo.query("iframe", dijit.byId("editor1").domNode)[0],'onload',function(){
console.log(this.contentDocument.body)
this.contentDocument.body.innerHTML = getEditorIntialValue();
})
function getEditorIntialValue(){
if(typeof submittedEditorValue != "undefined"){
submittedEditorValue = dojox.html.entities.decode(submittedEditorValue,decodecustomMap);
submittedEditorValue = submittedEditorValue.replace(/%20/ig," ");
return submittedEditorValue;
//dijit.byId("editor1").document.body.innerHTML = submittedEditorValue;
}
else{
return "";
}
}
})
</script>
</html>
我明白你在做什麼摹這裏...聰明......但是,這是一種同樣作爲聽衆的onsubmit連接到一個形式,抓住什麼是在RTE的。感謝您的回覆......我將其標記爲已回答。 – 2011-05-24 17:08:10
我認爲RTE不具有與其相關聯存儲編輯文本的隱藏字段,用戶鍵入。所以我認爲這可能是其中一種方式。糾正我,如果我錯了 – rajkamal 2011-05-25 05:36:52
不好...這很好。我以不同但類似的方式實現了它。我做了我的形式的「提交」事件dojo.connect和有線一個二級處理搶值超出我的RTE的,把它扔進一個隱藏的文本框中。 – 2011-05-25 11:50:04