2014-01-02 2 views
6

Как я могу получить содержимое диапазона? Я ищу способ для всего этого, чтобы быть ваниль, а не JQueryПолучить содержимое диапазона

Javascript (и немного JQuery)

var swear_words_arr=new Array("bad","evil","freak"); 
var regex = new RegExp('\\b(' + swear_words_arr.join('|') + ')\\b', 'i'); 

function validate_user_text() { 
var text = document.getElementById('myInput'); 
text.text(); 

if(regex.test(text)) { 
    window.location="http://www.newlocation.com"; 
    return false; 
} 

} 
var myVar=setInterval(function(){validate_user_text()},1000);change 

вот мой HTML

<div id="textArea"> 
<span id="myInput" contenteditable="true">kfjdkfj</span> 
</div> 
<br /> 
<form name="form1" method="post" action=""> 

<textarea rows="3" cols="40" name="user_text" style="border:2 solid #808080; font-family:verdana,arial,helvetica; font-weight:normal; font-size:10pt" onclick="select_area()"></textarea> 
<br /> 
<input type="button" value="Submit" onclick="return validate_user_text();"></form> 

Спасибо

+0

Вы спрашивали об этом 25 минут назад. Спам [так] даст вам вопрос запрет, тем более, что ваш вопрос не по теме и мало ценен. –

+0

Вы могли бы просто использовать '' и получить значение с помощью '.value'. Спасите вас от хлопот. – Joseph

ответ

13

Дайте этому выстрел:

var input = document.getElementById("myInput"); 
var text = input.innerHTML; 
+1

Спасибо, что у меня нет путаного ответа;) –

8

Вы можете использовать textContent

Взято из MDN:

// Given the following HTML fragment: 
// <div id="divA">This is <span>some</span> text</div> 

// Get the text content: 
var text = document.getElementById("divA").textContent; 
// |text| is set to "This is some text". 

// Set the text content: 
document.getElementById("divA").textContent = "This is some text"; 
// The HTML for divA is now: 
// <div id="divA">This is some text</div> 
+0

Это круто, я не знал о 'textContent' +1! –

+0

Спасибо! Я попробую это: D –

+0

textContent идеально подходит для этого. Благодаря! – Jake

3

Там есть вопрос здесь:

var text = document.getElementById('myInput'); 
text.text(); 

Вы никогда не присвоен текст ввода любой переменной.

После вашего рисунка выше, вы можете сделать:

var txt = document.getElementById('myInput'), 
    txt = text.text(); 

Вторая переменная обновляет предыдущую переменную «текстовый», чтобы держать текст оригинала «TXT» переменной, которая была селектором.

Вы можете сделать это, а также (ваниль JavaScript, jsfiddle):

var txt = document.getElementById('myInput').innerHTML; 

//or 

var txt = document.getElementById('myInput').textContent; 
1

Вместо того, чтобы использовать ...

text.text(); 

Попробуйте использовать ...

text.innerHTML; 

I 'only only .text() работает, когда вы используете селектор jQuery.

$('#myInput').text(); 
0
var text = (document.getElementById("myInput")).innerHTML 

или сокращенная форма:

var text = $('#myInput').text() 
Смежные вопросы