Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: для новичков > Удалить символ в шаблоне


Автор: gcc 10.12.2008, 11:32
есть строка большая без пробелов, вместо пробелов идет "запятая"

Код
<td width="50" height="50"><TMPL_VAR NAME="text"></td>


как с помощью Javascript или ccs заменить запятую на пробел, или поставить пробел после запятой, или как вывести чтобы строго было ограничениние на столбцы HTML

на 
Код
width="50" height="50"
 не реагирует


по примерам не понял как это сделать:

Код
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>test</title>
        <script type="text/javascript">
            function del(){
                var str = document.getElementById('text').value;
                document.getElementById('text').value = str.substring(0, str.length-1);
            }
        </script>
    </head>
    <body>
        <input id="text" type="text" value="Какойто текст">
        <input type="button" value="Удалить" onclick="del();">
    </body>
</html>


Код
<button type="button" onclick="foo()">ooo</button>
<script type="text/javascript">
function foo()
{
    var POST = 'var=1|var=2|var=3';
    alert(POST.replace(/\|/g, ''));
}

Автор: gcc 10.12.2008, 12:07
Код
    <td width="50" height="50"><TMPL_VAR NAME="text"></td>


получается, есть так:

Код
      <td width="300" height="0"
text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,
text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,
text,text,text,text,text,text,text,text,text,textext,text,text,text,text,text,text,text,
text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,
text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,text,
text,text,text,text,text,text,text,text,text,text,
>
</td>
   </tr>


нужно добавить пробел, надо чтобы было:
Код
      <td width="300" height="0"
text, text, text, text, text, text, text, text, 
text, text, text, text, text, text, text, text
>
</td>



или заменить запятую на пробел, или так:
Код

      <td width="300" height="0"
text text text text text text text text
text text text text text text text text
>
</td>


 можно это на клиенте отформатировать?

Автор: Aliance 10.12.2008, 12:15
Цитата(gcc @  10.12.2008,  12:32 Найти цитируемый пост)
как вывести чтобы строго было ограничениние на столбцы HTML

Не очень тебя понял, но думаю это задача CSS

Цитата(gcc @  10.12.2008,  12:32 Найти цитируемый пост)
как с помощью Javascript или ccs заменить запятую на пробел, или поставить пробел после запятой

Код

var re = '/,/g';
var str = 'JavaScript,Vingrad,Aliance';
// запятая на пробел
str.replace( re, ' ' );
// пробел после запятой
str.replace( re, ', ' );

Автор: gcc 10.12.2008, 13:15
Цитата(Aliance @ 10.12.2008,  12:15)
Цитата(gcc @  10.12.2008,  12:32 Найти цитируемый пост)
как вывести чтобы строго было ограничениние на столбцы HTML

Не очень тебя понял, но думаю это задача CSS

спасибо, я так понял что это нужно делать на сервере

а как это на клиенте можно сделать на css? (если это можно вообще)

Автор: Aliance 10.12.2008, 14:34
Попробуй использовать свойство http://htmlbook.ru/css/table-layout.html.

Так же, можно попробовать использовать свойства http://htmlbook.ru/css/max-width.html и maxHeight, но ИЕ их поддерживает только начиная с 7 версии, в отличии от других браузеров.

Автор: gcc 28.12.2008, 09:23
Код

<div id="text" name="text"></div>

<a href="#" onclick="replace()">òåñò</a>

<script language="JavaScript">
test='text,text,text,text';
document.getElementById('text').innerHTML=test;

function replace()
{

var i, text = test.split('').reverse(), length = text.length, key = 0, result = [];
if(length) {
  for(i = 0; i < length; i++) {
    result.push(text[i]);
    key++;
    if(text[i+1] == ',') {
      key = 0;
      result.push(' ')
    }
  }
}
result = result.reverse().join('');
//document.innerHTML=result;
document.getElementById('text').innerHTML=result;
}
</script>



Автор: gcc 10.1.2009, 04:19
есть текст из СУБД:
Код

<td>       
      <div id="text" name="text">sd <sdf@sdf.com>sdf апр апап пар  <sdf@sdf.com></div>
</td>



точнее: 
Код

<td>       
      <div id="text" name="text"><TMPL_VAR NAME="text"></div>
</td>


можно ли заменить < на  &lt; и > на &gt; ? 

CSS почемуто эскейпит данные которые в кавычках <> их не видно в итоге

если нельзя, то тогда в базе надо будет заменить


вот на этом сайте я не могу нигде найти 
http://www.w3schools.com/htmldom/dom_obj_table.asp

Автор: gcc 10.1.2009, 04:35
сделал на сервере
Код

foreach $_ (@{$rows}) {
    $_->{text} =~ s/<//g;
    $_->{text} =~ s/>//g;
      
}


данные очень хорошо заносятся из СУБД в шаблон, удобней было бы делать такие замены на клиенте (если бы только научиться этому  smile )

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)