繁体   English   中英

将隐藏的输入字段放在文本区域内

[英]Place Hidden input field inside a textarea

我目前正在使用wmd文本编辑器。 我能够毫不费力地完全实施所有内容。 我正在尝试在textarea中放置一个隐藏字段,以供以后检索#wmd-preview div的值。 问题是我正在输入字段的html文本属性出现在实际的textarea内部。 我不确定为什么这么做,因为输入的属性是hidden

我如何在文本区域内放置一个隐藏的输入字段?

的HTML

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

你需要把

<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 ?>">

我找到了答案

摆弄了很长时间之后,我在这里发布了问题。 幸运的是,在发布问题几分钟后,我找到了解决方法。 我不会删除该问题,因为我是互联网上第一个查找和回答该问题的人。

为了您的方便,我为该示例输入了您的代码,尽管它可以是任何输入的代码。

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

您可以将任何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代码。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM