Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> по onsumbit заменить все & в textarea на [amp] 
:(
    Опции темы
Elfet
Дата 26.9.2004, 17:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



как по onsumbit заменить все "&" на "[amp]" в textarea и потом отправить это sample.gif
вот у меня неудалось -
Код
 function apmre()
 {
  var t=document.f.txt.value;
  var i;
  for(i=0; i<t.leght; i++)
  {
   if(t[i]=="&")t[i]="[amp]";
  }
 }


ЗЫ t[i]="[amp]"; так проходит? массив раздвинется? smile.gif
и ето тоже - var t=document.f.txt.value; ? sad.gif

sample.gif


--------------------
PM MAIL WWW Skype   Вверх
Aliance
Дата 26.9.2004, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Чтобы обратиться к элементу textarea (id=txt) из формы (name=myForm), используем DOM
document.getElementById("txt"),
либо
document.myForm.txt

Непосредственно замену, думаю, можно осуществить с помощью регулярных выражений. Так же используем метод replace(), выглядит так:
Код

var searchString = "&";
var replaceString = "[amp]";
var re = new RegExp(searchString, g);
var result = resultString.replace(re, replaceString)

PM MAIL WWW ICQ Skype   Вверх
Sardar
Дата 26.9.2004, 19:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(Aliance @ 26.9.2004, 17:02)
либо document.myForm.txt

Не совсем:
Код
document.forms.myForm.txt

Замена регами попроще:
Код
string.replace(/&/g, "[amp]");



--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Elfet
Дата 27.9.2004, 08:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Код
<script>
 function apmre()
 {
  var g=document.forms.f.txt;
  var searchString = "&";
  var replaceString = "[amp]";
  var re = new RegExp(searchString, g);
  var result = resultString.replace(re, replaceString)
  document.forms.f.txt=result;
 }</script>

Код

<textarea name="txt" rows=25 cols=100 wrap="off"></textarea>
print "<input type="submit" value="OK" onclick="apmre();">


qstn.gif

мне выдаёт сообщение об ошибке в регулярном выражении sad.gif

sample.gif






--------------------
PM MAIL WWW Skype   Вверх
Gold Dragon
Дата 27.9.2004, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Вот функция замены символа в строке

Код
function qqq()
{
var b = "Строка с & и & и ещё"
var a = ""
for (i=0; i<b.length; i++){
if (b.charAt([i])=="&"){a = a + "[amp]"}
else{a = a + b.charAt([i])}
}
document.write(a)
}


Цитата(Elfet @ 26.9.2004, 18:36)
for(i=0; i<t.leght; i++)

есть свойство length

Это сообщение отредактировал(а) Red Dragon - 27.9.2004, 09:44


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 27.9.2004, 14:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Elfet
Используй конструкцию, которую сказал Sardar
Цитата(Sardar @ 26.9.2004, 19:09)
document.forms.myForm.txt

Хм...у меня в книжке одной по другому написано, точнее и так, как ты сказал, и мой вариант, странно, но я обычно вообще W3C DOM использую biggrin.gif

PM MAIL WWW ICQ Skype   Вверх
GoodBoy
Дата 27.9.2004, 14:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Попробуй вот так:
Код
<script>
function apmre() {
       var g = document.MyForm.txt;
       g.value = g.value.replace(/&/g, "[amp]");
}
</script>
<form name=MyForm ...>
...
<textarea name=txt></textarea>
...
<form>


Это сообщение отредактировал(а) GoodBoy - 27.9.2004, 15:51


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Gold Dragon
Дата 27.9.2004, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Призрачный
****


Профиль
Группа: Экс. модератор
Сообщений: 6753
Регистрация: 1.3.2004
Где: Россия, Тамбов

Репутация: 1
Всего: 71



Цитата(Sardar @ 26.9.2004, 20:09)
document.forms.myForm.txt

document - этот документ
forms - имя формы
myForm - имя элемента, в данном случае <TEXTAREA>
txt- а это что? Я не нашёл такого свойства


--------------------
Нельзя жить в прошлом, оно уже прошло.
Нельзя жить в будущем, оно ещё не наступило.
Нужно жить в настоящем, помня прошлое и думая о будущем!
PM MAIL WWW ICQ   Вверх
Aliance
Дата 27.9.2004, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Red Dragon
Name элемента. Можно обращаться так:
document.forms.elements[0] (где число в скобках - номер жлемента, начинается отсчет от нуля), либо
document.forms.elements["txt"] или
document.forms.txt
PM MAIL WWW ICQ Skype   Вверх
Elfet
Дата 27.9.2004, 16:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Белый и Пушистый
****


Профиль
Группа: Awaiting Authorisation
Сообщений: 3776
Регистрация: 2.4.2003

Репутация: нет
Всего: 16



Цитата(GoodBoy @ 27.9.2004, 15:57)
var g = document.MyForm.txt;

Цитата(GoodBoy @ 27.9.2004, 15:57)
var g = document.form.MyForm.txt;

пишет есть NULL или не является объектом smile.gif



--------------------
PM MAIL WWW Skype   Вверх
GoodBoy
Дата 27.9.2004, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Elfet
Всё прекрасно работает!!!
Код
<script>
function apmre() {
  var g = document.MyForm.txt;
  g.value = g.value.replace(/&/g, "[amp]");
}
</script>
<form name=MyForm>

<textarea name=txt></textarea>

<form>

<input type=button value="qweqweq" onclick="apmre()">



--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Aliance
Дата 27.9.2004, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



Elfet
GoodBoy
Может так: document.forms.myForm.txt
PM MAIL WWW ICQ Skype   Вверх
GoodBoy
Дата 27.9.2004, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Главный джедай
****


Профиль
Группа: Модератор
Сообщений: 3886
Регистрация: 8.1.2003
Где: КМВ

Репутация: 2
Всего: 83



Aliance
Код из моего предыдущего сообщения - работает! Я проверял! :-)))


--------------------
Чем дальше в лес, тем толще партизаны...

Цитата(igorold @  1.5.2016,  17:40 Найти цитируемый пост)
Индейцы не обратили внимания на поток беженцев из Европы… Теперь они живут в резервациях. 
PM MAIL   Вверх
Aliance
Дата 27.9.2004, 18:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


I ♥ <script>
****


Профиль
Группа: Модератор
Сообщений: 6418
Регистрация: 2.8.2004
Где: spb

Репутация: 55
Всего: 137



GoodBoy

Цитата(Sardar @ 26.9.2004, 19:09)
Цитата (Aliance @ 26.9.2004, 17:02)
Цитата
либо document.myForm.txt

Не совсем:
Код
document.forms.myForm.txt



PM MAIL WWW ICQ Skype   Вверх
Alx
Дата 27.9.2004, 21:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ajaxy
****


Профиль
Группа: Комодератор
Сообщений: 2903
Регистрация: 26.11.2003
Где: Cutopia

Репутация: 10
Всего: 78



forms - это коллекция
myForm - это имя формы
txt - это имя поля

можно обращаться через коллекцию document.forms.myForm.txt, либо через все объекты на странице: document.myForm.txt

по-моему лучше сделать так:

Код

<script>
function apmre()
{var txtVal = document.MyForm.txt;
var newTxtVal = txtVal.value.replace(/&/g, "[amp]");
txtVal.value = newTxtVal;
}
</script>
<form name=MyForm>

<textarea name=txt></textarea>

<form>

<input type=button value="qweqweq" onclick="apmre()">


да, но кстати. это будет заменять только одну &!

А чтобы все:

Код

function repl()
{var text = txt.value;
var newTxtVal="";
for (var i=0;i<text.length;i++)
{switch(text.charAt(i))
{case "&":newTxtVal+="[amp]";break;
default: newTxtVal+=text.charAt(i);
}
}
txt.value=newTxtVal;
}

Добавлено @ 21:32
Код

<script>
function repl()
{var text = txt.value;
var newTxtVal="";
for (var i=0;i<text.length;i++)
{switch(text.charAt(i))
{case "&":newTxtVal+="[amp]";break;
default: newTxtVal+=text.charAt(i);
}
}
txt.value=newTxtVal;
}
</script>
<body>
<textarea id="txt"></textarea>
<input type="button" onclick="repl()">



--------------------
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0909 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.