Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужно чтобы текст из формы попал в reg.exec() (https://javascript.ru/forum/misc/28811-nuzhno-chtoby-tekst-iz-formy-popal-v-reg-exec.html)

lexon 03.06.2012 18:30

Нужно чтобы текст из формы попал в reg.exec()
 
Здравствуйте, я начинающий, не получается дописать следующий скрипт:" На форме имеются 2 текстовых поля, в первое поле вводится ссылка в виде <a href='http://site.ru/'>Анкор сайта</a>, а результат- текст анкора, должен появиться в другом.

Мой скрипт, который на работает:

<html>

<body>

<form name="add" method="post">
<input type="text" size=20 name=post>
<br>
<input type="text" size=20 name=ankor>

<script language="JavaScript">
function gettxt()
{
var reg=/\>(.*)\<\/a/
var arr=reg.exec(document.add.post.value)


document.add.ankor.value=arr[1];
setTimeout("gettxt()",100);
}
gettxt();
//-->

</script>
</form>

</body>
</html>


Регулярные выражения работаю правильно, проверял:

<html>

<body>

<form name="add" method="post">
<input type="text" size=20 name=post>
<br>
<input type="text" size=20 name=ankor>

<script language="JavaScript">
function gettxt()
{
var reg=/\>(.*)\<\/a/

var arr=reg.exec("<a href='http://site.ru/'>Анкор сайта</a>");

document.add.ankor.value=arr[1];
setTimeout("gettxt()",100);
}
gettxt();
//-->

</script>
</form>

</body>
</html>

Deff 03.06.2012 19:04

Может так ?
<html>

 <body>
 <script language="JavaScript"> 
 function gettxt(a) 
  {
 var reg=/>(.*)<\//; 
 var arr=reg.exec(a) 
 setTimeout("gettxt()",100);
 document.add.ankor.value=arr[1];
  }
 
 </script>
 <form name="add" method="post">
 <input type="text" size=20 name=post  onchange="gettxt(this.value)"  autocomplete="off">
 <br>
 <input type="text" size=20 name=ankor   autocomplete="off">


 </form>



 </body>
 </html>

lexon 03.06.2012 19:21

Спасибо огромное, вы мне очень помогли! =)

Deff 03.06.2012 22:16

Цитата:

Сообщение от lexon
вы мне очень помогли!

;)

По идее еcли будет работать так - то лучше строку выкинуть(*Она может вызывать переполнение
<html>

 <body>
 <script language="JavaScript"> 
 function gettxt(a) 
  {
 var reg=/>(.*)<\//; 
 var arr=reg.exec(a) 
*!*
  //setTimeout("gettxt()",100);
*/!*
 document.add.ankor.value=arr[1];
  }
 
 </script>
 <form name="add" method="post">
 <input type="text" size=20 name=post  onchange="gettxt(this.value)"  autocomplete="off">
 <br>
 <input type="text" size=20 name=ankor   autocomplete="off">


 </form>



 </body>
 </html>

lexon 05.06.2012 07:03

Без этой строки функция выполняется только 1 раз, у меня она несколько раз может меняться, но всё равно спасибо за совет =)


Часовой пояс GMT +3, время: 19:05.