Написать на JavaScript скрипт “сортировка слов”

Обсуждение вопросов клиентского программирования.

Модератор: Duncon

Ответить
Светланка
Сообщения: 3
Зарегистрирован: 07 окт 2009, 23:49

В текстовую область заносится набор слов. При нажатии кнопки “сортировка” производится сортировка слов в прямом или обратном порядке в зависимости от флажка выбора. Результат выводится в новом окне. Используйте массивы и свойства length и методы indexOf(), charAt() текстовых переменных.
Никак не получается сделать...


<HTML>

<HEAD>
<TITLE> Javascript. Сортировка слов. </TITLE>

</HEAD>

<BODY BGCOLOR="white">

<FORM
NAME="myform">
<b>Введите текст для сортировки:</b></br></br>
<TEXTAREA
ROWS=6 COLS=55
NAME="tarea1">
</TEXTAREA>
</br></br>
<u>Тип сортировки:</u>
</br></br>

<INPUT
TYPE="checkbox"
NAME="chbForw"
CHECKED
[onClick="handlerText"]> Прямая
</br></br>

<INPUT
TYPE="checkbox"
NAME="chbBack"
[onClick="handlerText"]> Обратная

</br></br>

<INPUT
TYPE ="BUTTON"
NAME="buttonName"
VALUE="Сортировка"
onClick="window.alert('Строки отсортированы')";>
</br></br>
<b>Отсортированые строки:</b></br></br>

<TEXTAREA
ROWS=6 COLS=55
NAME="tarea2">

</TEXTAREA>
</FORM>


<SCRIPT LANGUAGE = JavaScript>

var n
var v
n=0

v=document.myform.tarea1

for (i=0; i<v.value.length; i++) do
{
if (v.value.charAt(i)="/n") n++;
}

document.write(n);

/* function sortByLength(a, b)
{
if(a.length > b.length) return 1;
else
if(a.length = b.length) return 0;
else return -1;
}

function countstr(key)
{
if (key==13) n+=1;
return(n);
}*/

var myArray = new Array()
for (i=0; i<n; i++)
{
myArray=v.elements.index;
}

myArray.sort(sortByLength);
for (i=0; i<n; i++)
{
v.elements.index=myArray;
}

</SCRIPT>


</BODY>
</HTML>

Извините, я пока в этом почти ноль...
Skvor
Сообщения: 17
Зарегистрирован: 30 сен 2009, 21:14

Скажи ка для начала что за сортировка там осуществляется? По подробней.
Светланка
Сообщения: 3
Зарегистрирован: 07 окт 2009, 23:49

В задании толком не написано... либо по длине слова, либо по алфавиту, я думаю
Skvor
Сообщения: 17
Зарегистрирован: 30 сен 2009, 21:14

Код: Выделить всё

<HTML>

<HEAD>
<TITLE> Javascript. Сортировка слов. </TITLE>

</HEAD>

<BODY BGCOLOR="white">

<FORM
NAME="myform">
<b>Введите текст для сортировки:</b></br></br>
<TEXTAREA
ROWS=6 COLS=55
id="tarea1">
</TEXTAREA>
</br></br>
<u>Тип сортировки:</u>
</br></br>

<INPUT
TYPE="radio"
NAME="chbForw"
CHECKED
onClick="handlerText"> Прямая
</br></br>

<INPUT
TYPE="radio"
NAME="chbBack"
onClick="handlerText"> Обратная

</br></br>

<INPUT
TYPE ="BUTTON"
NAME="buttonName"
VALUE="Сортировка"
onClick="sort()";>
</br></br>
<b>Отсортированые строки:</b></br></br>

<TEXTAREA
ROWS=6 COLS=55
id="tarea2">

</TEXTAREA>
</FORM>


<SCRIPT LANGUAGE = JavaScript>
function sort () {
var v;

v=document.getElementById('tarea1');
tosort = v.value;
words = tosort.split(" ");
document.getElementById('tarea2').value = words.sort();

}
</SCRIPT>


</BODY>
</HTML>
Вот те код. Дальше давай сама :) Реализовал сортировку по алфавиту. Правда прямая обратная кнопки не задействованы и разделитель слов является запятая. Вообщем Кода не много, если что не понятно, спрашивай.
Светланка
Сообщения: 3
Зарегистрирован: 07 окт 2009, 23:49

спасибо большое! буду дорабатывать :)
Skvor
Сообщения: 17
Зарегистрирован: 30 сен 2009, 21:14

Если хочешь я и сам доработаю, но ты вроде что-то соображаешь, судя по тому что сама написала :) . Основная твоя ошибка, это вроде ';' иногда не ставила. Проверяй.
anawsCreend
Сообщения: 11
Зарегистрирован: 09 дек 2009, 15:31
Откуда: Россия
Контактная информация:

Где-то была тема про innerHTML
очень ценная информация
но я так и не понял

можно ли из JavaScript братиться к php-скрипту и записать результат его работу в прерменную ?

Если да - то как?
Я видел такую штуку:
Код
Хыиуду
Сообщения: 2442
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

PHP - серверный язык, а Javascript - клиентский. Так что из PHP можно формировать код, который потом будет выполняться в Яваскрипте. Что-то вроде
echo "<script>
MyJSArr=Array();
";
for ($i=0; $i<10; $i++)
echo "MyJSArr[$i]=".$phpArr[$i]*10.";";
echo "</script>";
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Ответить