将隐藏的输入字段放在textarea中

时间:2012-08-01 05:41:49

标签: html input

我目前正在使用wmd文本编辑器。我已经能够毫不费力地完全实现一切。我试图在textarea中放置一个隐藏字段,以便以后用于检索#wmd-preview div的值。问题是我得到输入字段的html text属性出现在实际的textarea中。我不知道为什么这样做,因为输入的属性是hidden

如何在textarea中放置隐藏的输入字段呢? EXAMPLE

HTML

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

3 个答案:

答案 0 :(得分: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 ?>" />

答案 1 :(得分:2)

你需要把

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

<textarea>之外。因为当您在<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 ?>">

答案 2 :(得分:0)

我找到了答案

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

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

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

您可以将任何HTML或JavaScript代码放在可见的textarea wile中,使其隐藏所有输入字段,但在打开弹出窗口时处于活动状态。

注意:将名称更改为editortext,从编辑器文本中删除“ - ”,因为“ - ”会破坏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代码。