Javascript来填充网站上的格式化文本字段
Javascript to fill a formatted text field on a web site
我对Javascript几乎一无所知。通过猴子看,猴子做的方法,我成功地在AppleScript/Safari中使用Javascript来填充网站上的文本字段,使用以下命令:
do JavaScript "document.getElementById('ElementID').value ='TextToEnter';" in document 1
我已经能够在所有字段中输入文本,除了一个。有效的字段被标记为input type="text”
。不起作用的字段很复杂,因为输入的文本可以在输入后进行格式化(粗体、斜体、下划线、对齐等)。假设我已经为这个元素识别了正确的源代码,它看起来如下:
<body id="tinymce" class="mce-content-body " onload="window.parent.tinymce.get('fax_text').fire('load');" contenteditable="true" spellcheck="false"><p><br data-mce-bogus="1"></p></body>
有时p
和br
标签出现在不同的行上,但其他所有内容都是相同的。
在手动输入文本("INSERT TEXT HERE
")后,直接进入网页的文本字段,源代码变成:
<body id="tinymce" class="mce-content-body " onload="window.parent.tinymce.get('fax_text').fire('load');" contenteditable="true" spellcheck="false"><p>INSERT TEXT HERE</p></body>
下面的代码不能工作(在Applescript中封装):
document.getElementById('tinymce').value ='INSERT TEXT HERE';
产生错误:"missing value"。
根据@WhiteHat,以下n= 0-4的文本在页面上的几个位置插入文本,但不在目标文本字段中;N> 4导致"missing value"错误:
document.getElementsByTagName('p')[n].innerHTML ='Insert text here';
我尝试瞄准br
标签,但无济于事。我如何用Javascript瞄准这个文本字段?注意:我不需要格式化输入的文本。
您需要访问<p>
元素,它就在文档的body
之后,如…
document.getElementsByTagName('P')[0].innerHTML = 'your text'
getElementsByTagName
函数返回具有您提供的标记名称(在本例中为P
)的所有元素的数组。您正在寻找第一个,因此[0]
。
innerHTML
属性将允许您设置<p>
元素的内容。
下面是一个很好的JavaScript参考…
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference下面的参考是网页,或文档对象模型(DOM)。
https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model tinymce
是一个第三方JavaScript库,它允许丰富的编辑功能。
根据注释,您正在查找的特定字段命名为fax_text
。这是源代码,它在textarea
标签中,请注意使用TagName
和Name
的函数…
document.getElementsByName('fax_text')[0].value = 'This is my text!';
document.getElementsByTagName('textarea')[0].value =
document.getElementsByName('fax_text')[0].value +
''nThis is additional text...';
<textarea rows="5" name="fax_text" cols="36" class="mytext"></textarea>
此文本字段位于iFrame中。这个iFrame包含一个HTML文档 (<html><head><body>
)
要得到这个文档,你需要the_iFrame.contentDocument.
do JavaScript "var ifr = document.getElementById('fax_text_ifr'); ifr.contentDocument.getElementsByTagName('p')[0].innerHTML = 'some text';" in document 1
- 在HTML画布上格式化文本
- 如果所选内容在标记内,如何获取格式化文本
- 使用数字OnfocusOut/OnBlur格式化文本框
- 我想阅读一个格式化文本的html标签.使用javascript
- 使用 javascript 更改预先格式化文本中的值
- 用于格式化文本的 JavaScript 函数
- 如何使用 Javascript 从字符串中间提取然后重新格式化文本
- 带有跨浏览器换行符的 Javascript 预格式化文本
- 使用 jquery 格式化文本文件
- JSON 是否存储格式化文本并保持格式
- 使用格式化文本获取 DIV 或跨度的动态宽度高度
- 使用 html() 或 text() 方法返回格式化文本
- 通过 Javascript 在 Photoshop CS6+ 中格式化文本
- 如何将格式化文本从数据库返回到TinyMCE
- 仅显示mysql数据库中的格式化文本
- 将tinymce中的格式化文本存储在数据库中
- 在CSS弹出框中格式化文本的问题
- 在文本字段中键入文本时格式化文本
- 解析格式化文本并按顺序提取值
- 使用Javascript或jQuery自定义标记来格式化文本