javascript 操作 textarea

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javascript 操作 textarea相关的知识,希望对你有一定的参考价值。

有多个按钮,按钮中的值是固定的,点击不同的按钮要在textarea中的不同位置输入,也就是焦点的位置。 在线等待。。 谢谢啦。
coolwolf79 可能理解错啦,不是焦点的问题,是在textarea标签中的不同位置输入,而你的是在不同文本框中获得焦点,我想实现的是点击不同的按钮可以在textarea中输入不同的值,就是在焦点的位置输入

参考技术A 从网上拷贝一段代码给你

var setCursorPos = function( el, pos )
if( el.createTextRange )
var rng = el.createTextRange(); //新建textRange对象
rng.moveStart( 'character', pos ); //更改rng对象的开始位置
rng.collapse( true ); //光标移动到范围结尾
rng.select();//选中
el.focus();
else if( el.setSelectionRange )
el.focus(); //先聚焦
el.setSelectionRange( pos , pos ); //设光标



以上是设置光标位置的函数, 要在光标位置插入文字用以下函数
function insertAtCursor(textarea, text)
if (!textarea || !text)
return;

if (document.selection)
//IE
textarea.focus();
sel = document.selection.createRange();
sel.text = text;
else if (textarea.selectionStart || textarea.selectionStart == '0')
//Mozilla/Firefox
textarea.focus();
var startPos = textarea.selectionStart;
var endPos = textarea.selectionEnd;
textarea.value = textarea.value.substring(0, startPos) + text + textarea.value.substring(endPos, textarea.value.length);
textarea.setSelectionRange(endPos+text.length, endPos+text.length);
else
textarea.value += text;



用法
var el= document.getElementById('text1');
insertAtCursor(el, 'test');本回答被提问者采纳
参考技术B 写个简单的,原理相同:
<html>
<head><title></title>
<script type = "text/javascript">
function setFocus(id)

document.getElementById(id).focus();


</script>
</head>

<body>
<input type = "button" value = "button1" onclick = "setFocus('button1')">
<input type = "button" value = "button2" onclick = "setFocus('button2')">
<input type = "button" value = "button3" onclick = "setFocus('button3')">
<input type = "button" value = "button4" onclick = "setFocus('button4')">
<input type = "button" value = "button5" onclick = "setFocus('button5')">
<br/>

<input type = "text" id = "button1">
<input type = "text" id = "button2">
<input type = "text" id = "button3">
<input type = "text" id = "button4">
<input type = "text" id = "button5">

</body>
</html>
参考技术C 你是要写一个什么??编辑器吗?那可不是用textarea写的..

selenium 操作文本框(textarea输入)

selenium 对文本框的输入操作一般有两种形式,传统的是直接通过定位元素通过sendKeys()方法直接在文本框中输入信息。但有时候我们可以通过id 的方式将其进行定位,但却不能通过sendKeys()向文本框中输入文本信息。

这种情况下,也需要借助JavaScript 代码完成输入。

 HTML代码

<textarea id="id" style="width: 98%" cols="50" rows="5" class="txtarea">
</textarea>
...
...

第一种:

driver.findElement(By.id("id")).sendKeys("需要输入的内容");

 1 public static void main(String[] args) throws InterruptedException {
 2     System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
 3     ChromeOptions Options = new ChromeOptions();
 4     Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
 5     WebDriver driver = new ChromeDriver(Options);
 6     driver.manage().window().maximize();
 7     try {
 8     driver.get("file:///C:/Users/happy/Desktop/NewFile.html");
 9     driver.findElement(By.id("id")).sendKeys("需要输入的内容");
10     } finally {
11         Thread.sleep(5000);
12     driver.close();
13     driver.quit();
14     }
15 }

 

第二种:

通过executeScript()执行JavaScript 代码。来实现文本框操作。

 1 public static void main(String[] args) throws InterruptedException {
 2     System.setProperty("webdriver.chrome.driver", "D:/chromedriver_win32/chromedriver.exe");
 3     ChromeOptions Options = new ChromeOptions();
 4     Options.addArguments("user-data-dir=C:\\Users\\happy\\AppData\\Local\\Google\\Chrome\\User Data");
 5     WebDriver driver = new ChromeDriver(Options);
 6     driver.manage().window().maximize();
 7     try {
 8     driver.get("file:///C:/Users/happy/Desktop/NewFile.html");
 9     String text = "input text";
10     String js = "var sum=document.getElementById(‘id‘); sum.value=‘" + text + "‘;";
11     ((JavascriptExecutor)driver).executeScript(js);
12     } finally {
13         Thread.sleep(5000);
14     driver.close();
15     driver.quit();
16     }
17 }

 

  

 

以上是关于javascript 操作 textarea的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript操作符汇总

JavaScript操作符

javascript:异步操作概述

javaScript操作符

javascript中的操作符详解1

javascript 常见的Javascript操作