2013-07-04 71 views
0

我正在使用来自YUI的简单文本编辑器,但是当我单击提交时,textarea /编辑器中的代码不会发送到下一页。我希望能够在后续页面上接收它,然后将其存储在数据库(MySql)中。我已经浪费了很多时间了。请帮忙。 HTML文件:你以前似乎并不值保存到textarea元素富文本编辑器(使用YUI简单文本编辑器)不发送数据到下一页

<html> 
<head> 
<script type="text/javascript" src="http://yui.yahooapis.com/combo?2.9.0/build/yahoo-dom-event/yahoo-dom-event.js&2.9.0/build/container/container_core-min.js&2.9.0/build/element/element-min.js&2.9.0/build/editor/simpleeditor-min.js"></script> 
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.9.0/build/editor/assets/skins/sam/simpleeditor.css" /> 
<link rel="stylesheet" type="text/css" href="http://yui.yahooapis.com/2.8.2r1/build/assets/skins/sam/skin.css"> 
<!-- Utility Dependencies --> 
<script src="http://yui.yahooapis.com/2.8.2r1/build/yahoo-dom-event/yahoo-dom-event.js"></script> 
<script src="http://yui.yahooapis.com/2.8.2r1/build/element/element-min.js"></script> 
<!-- Needed for Menus, Buttons and Overlays used in the Toolbar --> 
<script src="http://yui.yahooapis.com/2.8.2r1/build/container/container_core-min.js"></script> 
<script src="http://yui.yahooapis.com/2.8.2r1/build/menu/menu-min.js"></script> 
<script src="http://yui.yahooapis.com/2.8.2r1/build/button/button-min.js"></script> 
<!-- Source file for Rich Text Editor--> 
<script src="http://yui.yahooapis.com/2.8.2r1/build/editor/editor-min.js"></script> 
<script> 
YAHOO.util.Event.on('submit', 'click', function() { 
myEditor.saveHTML(); 
var html = myEditor.get('element').value; 
}); 
(function() { 
     var Dom = YAHOO.util.Dom, 
     Event = YAHOO.util.Event; 

     var myConfig = { 
       height: '200px', 
       width: '900px', 
       dompath: true,     
      }; 
     myEditor = new YAHOO.widget.SimpleEditor('msgpost', myConfig); 
     myEditor.render(); 


})();  
</script> 

</head> 

<body class="yui-skin-sam"> 
<form action="submit.php" method="post"> 
    <textarea name="msgpost" id="msgpost" cols="50" rows="10"></textarea> 
<input type="submit" value="Submit" onsubmit="return myDoSubmit()"/> 
</form> 
</body> 
</html> 

回答

1

saveHTML()方法。而且,由于浏览器不关心YUI编辑器,只是提交了什么是有已经在textarea(这是无效),其提交的输入为空..

您应该textarea的值设置为编辑器值,使浏览器将提交值,而不是空..这可以使用这个小行来实现:

document.getElementsById("msgpost").value = html; 

看到这个工作JsFiddle我为你做。

但是,您也有HTML语法错误。 onSubmit属性应该位于form元素上,而不是提交按钮。

和听的事件是不实际的,当你可以简单地调用一个函数,当表单提交..(见的jsfiddle)

+0

非常感谢。我不得不再问一件事。我有一个带有按钮标签的简单表单。每当我点击按钮表单提交,即使我没有要求它。

\t
\t \t \t \t \t \t \t
...请帮我弄清楚..这很奇怪,我已经重新启动服务器,但仍然。 –

+0

当您将按钮类型设置为“提交”时,它将提交表单,它位于其中。你不必做任何'Javascript',这是该按钮的默认功能。如果你不想自动提交,试试'Button'类型。 –

+0

http://www.w3schools.com/html/tryit.asp?filename=tryhtml_button –

0

我看到这个post一个例子。

基本上,这增加的myconfig:然后handleSubmit: true

的myconfig看起来就像这样:

var myConfig = { 
      height: '200px', 
      width: '900px', 
      dompath: true, 
      handleSubmit: true 
     };