Функция сортировки JavaScript - PullRequest
0 голосов
/ 28 июня 2011

Я пытаюсь, чтобы мои js перечислили мои имена ВЕРТИКАЛЬНО в моем бланке, но это только ГОРИЗОНТАЛЬНО.Благодарю.Это мой сценарий:

// initialize the counter and the array
var numnames=0;
var names = new Array();

function SortNames() {
    // Get the name from the text field
    thename=document.theform.newname.value;
    // Add the name to the array
    names[numnames]=thename;
    // Increment the counter
    numnames++;
    // Sort the array
    names.sort();
    document.theform.sorted.value=names.join("\n");
}

1 Ответ

2 голосов
/ 28 июня 2011

Этот код имеет несколько проблем, но при условии, что поля формы действительно существуют, что имена, на которые вы ссылаетесь, являются именами полей, и что sorted - это textarea, он должен по существу работать: Пример . Поэтому я предполагаю, что sorted вместо input type="text". Измените его на textarea.


Не по теме (слегка): FWIW, проблемы, на которые я ссылался:

  1. Вы не объявляете свою переменную thename и, следовательно, становитесь жертвой Ужас неявных глобалов .
  2. Ваша переменная numnames не нужна (и проблема с обслуживанием); просто используйте names.length.
  3. Соглашение в JavaScript (которое вы можете игнорировать) заключается в том, что вы используете начальную заглавную букву в функциях только тогда, когда они конструктор функций (функций, которые вы вызываете через new), и что вы используете строчные буквы для всех других функций. Так что sortNames, а не SortNames, или, что еще лучше, addNameToList или подобное, поскольку не просто сортирует имена.

Также рекомендуем var names = []; более var names = new Array();, но они оба работают.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...