Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как очистить textarea? (https://javascript.ru/forum/dom-window/15900-kak-ochistit-textarea.html)

Skesh 18.03.2011 12:09

Как очистить textarea?
 
Доброго вермени суток, есть код:

form action="syte/text/addnews/add.php" method="post" name="frt">
<table class="wb" align="center">
<tr><td class="wb" align="right">Ведіть назву</td>
<td class="wb"> <textarea  cols="50" rows="1" name="name" id="name" value="" class="textfield">
<?php 
$filename = "syte/text/addnews/name.txt"; 
if (is_writeable($filename))  
{
$fp = fopen("$filename", "r+");
$text=count($fp);
if($text!=0)
{
while (!feof($fp)) 
{
   $line = fgets($fp);
   echo $line;
}
ftruncate($fp, 0);
fclose($fp);
}
}
else 
{
echo "Немає файла $filename!";
}
?>
<input type="submit"; name="vvod"; value="Додати"; > <INPUT class="btn" value=очистить type="reset" onclick="document.frt.UserComments.value='';"></td></tr>
</table>


Нужно очистить содержимое textarea, пробывал так:
<INPUT value=очистить type="reset">

и так:
<INPUT class="btn" value=очистить type="reset" onclick="document.frt.name.value='';">

Подскажите плиз как очистить textarea с помощью кнопки? Зарание балгодарен.

firstchild 18.03.2011 12:22

<textarea  cols="50" rows="1" name="name" id="name" value="" class="textfield"></textarea>
<INPUT class="btn" value="очистить" type="reset" onclick="document.getElementById('name').value='';">

рони 18.03.2011 12:24

Skesh,
Теги желательно закрывать и по возможности не называть name="name"
<form action="syte/text/addnews/add.php" method="post" name="frt" id="frt">
    <table class="wb" align="center">
      <tr>
        <td class="wb" align="right">Ведіть назву</td>

        <td class="wb">
        <textarea cols="50" rows="1" name="name" id="name" value="" class="textfield"></textarea>
        <?php
        $filename = "syte/text/addnews/name.txt";
        if (is_writeable($filename))
        {
        $fp = fopen("$filename", "r+");
        $text=count($fp);
        if($text!=0)
        {
        while (!feof($fp))
        {
           $line = fgets($fp);
           echo $line;
        }
        ftruncate($fp, 0);
        fclose($fp);
        }
        }
        else
        {
        echo "Немає файла $filename!";
        }
        ?>
        <input type="submit" name="vvod" value="Додати" />
        <input class="btn" value="очистить" type="reset" /></td>
      </tr>
    </table>
  </form>

firstchild 18.03.2011 12:27

<input class="btn" value="очистить" type="reset" />
Очистит все поля формы, если таковые будут иметься, а не только textarea

Skesh 18.03.2011 15:18

Спсибо за приделеное время, но к сожелению не один ответ не работает, почему?
<input class="btn" value="очистить" type="reset" />
возвращает исходное значение формы, если из PHP скрипта выполняется оператор
echo $line;
то это и считается исходным значением, и поля не чистятся. Я бы и не спрашивал, если бы проблема была на столько тривиальна.
Не могу понять но
<INPUT class="btn" value="очистить" type="reset" onclick="document.getElementById('name').value='';">
тоже не работает
:( еще есть идеи?

У кого есть время и желание попробуйте скомпилировать код:

<form action="syte/text/addnews/add.php" method="post" name="frt" id="frt">
    <table class="wb" align="center">
      <tr>
        <td class="wb" align="right">Ведіть назву</td>

        <td class="wb">
        <textarea cols="50" rows="1" name="name" id="name" value="" class="textfield">
		<?php
$line="бла бла бла";
echo $line;
        ?>
		</textarea>
                <input class="btn" value="очистить" type="reset" /></td>
      </tr>
    </table>
  </form>


поймете в чeм проблема.

ksa 18.03.2011 15:39

Цитата:

Сообщение от Skesh
к сожелению не один ответ не работает

Вот этот вариант
Цитата:

Сообщение от firstchild (Сообщение 97083)
<textarea  cols="50" rows="1" name="name" id="name" value="" class="textfield"></textarea>
<INPUT class="btn" value="очистить" type="reset" onclick="document.getElementById('name').value='';">

работает точно... :D

Skesh 18.03.2011 15:58

хм... а так не работает:

<form action="syte/text/addnews/add.php" method="post" name="frt" id="frt">
<textarea  cols="50" rows="1" name="name" id="name" value="" class="textfield">
<?php
$a="la la la";
echo $a;
?>
</textarea>
<INPUT class="btn" value="очистить" type="reset" onclick="document.getElementById('name').value='';">
</form>


Дело в
action="syte/text/addnews/add.php"
?
но как тогда заставить его работать?

ksa 18.03.2011 16:31

Цитата:

Сообщение от Skesh
а так не работает

Ты намешал всего до кучи! :D

Вот рабочий вариант
<form action="syte/text/addnews/add.php" method="post" name="frt" id="frt">
	<textarea  cols="50" rows="1" name="name1" id="name1" value="" class="textfield">la la la</textarea>
	<INPUT class="btn" value="очистить" type="button" onclick="document.getElementById('name1').value='';" />
</form>

Skesh 18.03.2011 19:09

А вот и не работает! Вот попробуй с PHP кодом, а не с простым значением:

<form action="syte/text/addnews/add.php" method="post" name="frt" id="frt">
	<textarea  cols="50" rows="1" name="name1" id="name1" value="" class="textfield"><?php
$a="la la la";
echo $a;
?></textarea>
	<INPUT class="btn" value="очистить" type="button" onclick="document.getElementById('name1').value='';" />
</form>


Нужно так: :)
<form action="syte/text/addnews/add.php" method="post" name="frt" id="frt">
<textarea  cols="50" rows="1" name="name" id="name" value="" class="textfield">
<?php
$a="la la la";
echo $a;
?>
</textarea>
</form>
<INPUT class="btn" value="очистить" type="reset" onclick="document.getElementById('name').value='';">

кнопку reset нужно вынести за пределы form тогда все работает :) позвольте задать последний вопрос: каксделать чтобы очищались не одна, а сразу несколько textarea?

Vulkan 18.03.2011 19:13

<INPUT class="btn" value="очистить" type="reset" onclick="document.getElementById('name').value=''; document.getElementById('name1').value='';">

Skesh 18.03.2011 19:19

Большое всем спасибо! :dance:

firstchild 18.03.2011 19:56

незачто, продолжайте писать глупости.

ksa 19.03.2011 11:50

Цитата:

Сообщение от Skesh
Вот попробуй с PHP кодом

У меня нет ПХП... :)

bee 07.05.2015 11:01

у меня это
<center><input type = "submit" value = "Clear" name = "clear" class = "button" align = "center" onclick="document.getElementById(texte).value=''"></center>

выдает это
Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting ',' or ';' in Z:\home\inter.com\www\words.php on line 32

что тут не так?

рони 07.05.2015 11:50

Цитата:

Сообщение от bee
texte

что это переменная или id? если id то где кавычки?

bee 08.05.2015 10:11

вот код
<?php
echo'
<form action="" id="f" method="post" onSubmit = "return function();"> 
		<br>
          <textarea name="text1" id="eng" rows="5" cols="150"  >'.ltrim($_POST['text1']).'</textarea><br>
     <br>
	  <textarea name="text2" id="ru" rows="5" cols="150" >'.ltrim($_POST['text2']).'</textarea><br> 
   <br>
                 
	<center><input type = "submit" value = "Clear" name = "clear" class = "button" align = "center" onclick="document.getElementById(text1).value=\'\';"></center>
			

	<center><input type = "submit" value = "Go" name = "edit" class = "button" align = "center"></center>
	
</form>';
?>

нужно было просто экранировать кавычки, ошибка исчезла но поле не чистит.

bee 08.05.2015 10:31

подсказали так:
echo '<form action="" id="f" method="post" onSubmit = "return function();"> 
    original<br>    
    <textarea name="text1" id="eng" rows="5" cols="150"  >'.ltrim(@$_POST['text1']).'</textarea><br><br>
    <textarea name="text2" id="ru" rows="5" cols="150" >'.ltrim(@$_POST['text2']).'</textarea><br>    
    <input type = "submit" value = "Go" name = "edit" class = "button" align = "center"><br>
    <input type="button" value="Clear" onclick="clear_form();" />   
</form>
<script type="text/javascript">
    function clear_form() {
        document.getElementById(\'eng\').value = \'\';
        document.getElementById(\'ru\').value = \'\';
        alert(\'Форма очищена\');
    }
</script>';

а еще я протупили и не по id а по name все делал:(


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