1

我目前正在使用 wmd 文本编辑器。我已经能够毫不费力地完全实现一切。我正在尝试在 textarea 中放置一个隐藏字段,以供以后用于检索#wmd-previewdiv 的值。问题是我让输入字段的 html 文本属性出现在实际的文本区域内。我不确定为什么要这样做,因为输入的属性是hidden.

那么如何在 textarea 中放置隐藏的输入字段呢?例子

HTML

<textarea id="wmd-input" name="editor-text" cols="92" rows="15" tabindex="6"><input type="hidden" id="myhidden" name="myhidden" value="<? $wmdVal ?>"></textarea>
4

3 回答 3

4

标签之间的所有内容都<textarea>将被视为文本。为什么首先要将它放在文本区域中?为什么不把它放在它下面呢?反正也看不出来。

<textarea id="wmd-input" name="editor-text" cols="92" rows="15" tabindex="6"></textarea>
<input type="hidden" id="myhidden" name="myhidden" value="<? $wmdVal ?>" />
于 2012-08-01T05:45:43.673 回答
2

你需要把

<input type="hidden" id="myhidden" name="myhidden" value="<? $wmdVal ?>">  

之外<textarea>。因为当你在 a 中写一些东西时,<textarea>就会<textarea>认为它本身就是一个值。

您也可以通过将隐藏文本字段放在外面来获取它的值<textarea>

<textarea id="wmd-input" name="editor-text" cols="92" rows="15" tabindex="6"></textarea>
<input type="hidden" id="myhidden" name="myhidden" value="<? $wmdVal ?>">
于 2012-08-01T05:47:30.110 回答
0

我找到了答案

在摆弄了很长时间之后,我在这里发布了这个问题。幸运的是,我在发布问题几分钟后找到了如何做的答案。我不会删除这个问题,因为我是互联网上第一个找到并回答这个问题的人。

为了您的缘故,我为此示例输入了您的代码,尽管它可以是输入的任何代码。

这就是我通过使用链接到弹出 javascript 的隐藏文本区域来解决问题的方法。这样,在第一个 textarea 中放置的内容将作为弹出窗口出现,当单击“Preview”按钮时,隐藏 textarea 中的功能也会出现在弹出窗口中。自己测试一下,你就会明白我的意思。

您可以将任何 HTML 或 JavaScript 代码放在可见文本区域内,同时隐藏所有输入字段,但在打开弹出窗口时处于活动状态。

注意:将名称更改为 editortext,从 editor-text 中删除“-”,因为“-”会破坏 JavaScript 使其无效。

使用您的输入代码的示例:

<form name = "form1">
<textarea name="textfield" cols="107" rows="31" id="CodeExample" wrap="soft" placeholder="Put your Source Codes here">Try me out</textarea>

<textarea hidden="on" id="wmd-input" name="editortext" cols="92" rows="15" tabindex="6">
<input type="hidden" id="myhidden" name="myhidden" value="<? $wmdVal ?>">Your hidden input is here delete this text when finished
</textarea>

<br>

<!-- Run Textarea field in popup BEGIN -->
<script type="text/javascript">
var win = null;
function NewWindow(mypage,myname,w,h,scroll) {
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
win = window.open(mypage,myname,settings);
if (window.focus) {win.focus()}
var t1 = document.form1.textfield.value;
var t2 = document.form1.editortext.value;       
win.document.write(t1);
win.document.write(t2);
}
</script>
<input type = "button" value = "Preview" name = "preview" onclick = "NewWindow('','myPop','500','400','yes')">
<!-- Run Textarea field in popup END -->
</form>

使用我的输入代码的示例:

<form name = "form1">

<textarea name="textfield" cols="107" rows="31" id="CodeExample" wrap="soft" placeholder="Put your Source Codes here"></textarea>
<textarea hidden="on" name="textfield2" cols="1" rows="1" id="CodeExample2"> </textarea>

<br>

<!-- Run Textarea field in popup BEGIN -->
<script type="text/javascript">
var win = null;
function NewWindow(mypage,myname,w,h,scroll) {
LeftPosition = (screen.width) ? (screen.width-w)/2 : 0;
TopPosition = (screen.height) ? (screen.height-h)/2 : 0;
settings =
'height='+h+',width='+w+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',resizable'
win = window.open(mypage,myname,settings);
if (window.focus) {win.focus()}
var t1 = document.form1.textfield.value;
var t2 = document.form1.textfield2.value;       
win.document.write(t1);
win.document.write(t2);
}
</script>
<input type = "button" value = "Preview" name = "preview" onclick = "NewWindow('','myPop','500','400','yes')">
<!-- Run Textarea field in popup END -->

</form>

注意:正如您在我的示例中以及在使用您的文本时所看到的,它甚至可以与 HTML 和 JavaScript 代码一起使用。

于 2017-03-01T21:50:02.843 回答