Форум программистов, компьютерный форум, киберфорум
JavaScript
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/15: Рейтинг темы: голосов - 15, средняя оценка - 4.67
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44

Как присвоить переменной значение номера позиции входящей строки?

08.04.2010, 04:43. Показов 3027. Ответов 15
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Народ, обясните. Я не могу понять, как присвоить переменной значение номера позиции входящей строки
NN=StringName.lastindexof('a') - stringname - переменная, содержащая строку, а 'а' - любая входящая строка.
На этот код броузер ошибку выдаёт (NN.lastindexof is not a function) .
Не пойму. Зато, если написать NN=StringName.length - прекрасно работает, т.е. присваивает переменной NN число.
Я так понимаю, проблемы из-за того, что в первом случае это метод, а во втором свойство, но как правильно присвоить тогда всё равно не пойму.
Объясните, плиз
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
08.04.2010, 04:43
Ответы с готовыми решениями:

Как присвоить из строки значение float/double к переменной?
#import "AppDelegate.h" @implementation AppDelegate NSfloat _R=; @end Так нельзя сделать и на подобии тоже)

Как присвоить переменной значение из БД определенного поля, из определенной строки
Подскажите пожалуйста, как правильно присвоить переменной значение из БД SQLiteCommand CMD = db.CreateCommand(); int a =...

Присвоить значение наименьшего элемента массива переменной М1, номер строки, где находится этот элемент, - переменной Т, номер столбца - переменной С
Массив С действительных чисел имеет 5 строк и 11 столбцов. Присвоить значение наименьшего элемента массива переменной М1, номер строки, где...

15
pl
51 / 17 / 6
Регистрация: 18.05.2007
Сообщений: 1,322
08.04.2010, 07:42
lastIndexOf
Соблюдай регистр!
0
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 13:22  [ТС]
Насколько я знаю, значения регистра в названиях функций и методов не играет роли. В любом случае я, разумеется, такую простую вещь проверил ещё до того, как задал вопрос здесь.
0
swed
09.04.2010, 13:33
pl ПРАВ и все методы и функции должны писаться с учетом регистра

а в твоем случае
NN=StringName.lastindexof('a')
должно быть так

StringName - это именно строка, а не скажем имя или id елемента форми, или еще чего

NN = StringName.lastIndexOf('a');
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 13:55  [ТС]
Спасибо, Swed , только поясни, плиз, теперь насчёт 'именно строки'. У меня переменная NN - это значение поля формы. Как тогда сделать, чтобы броузер меня понял и интерпретировал NN именно как строку?
Заранее спасибо
0
swed
09.04.2010, 14:13
У тебя есть выражение

int = string.lastIndexOf('a');

lastIndexOf() - это метод строки

а

результат это число

а дальше ты с этим числом можеш делать все что захочеш,
тоеть оно хоть у тебя и число, но писать его можно вежде и как строку

если я понял твой вопрос, то так. ))

может это лишннее но :
int+int = int;
int+float = float;
int+string = 'int''strind';
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 14:38  [ТС]
Да, конечно, я описался по невнимательности - NN -это число. Я имел в виду переменную StringName - она является значением поля формы. Как её преобразовать в строку? Может ToString() использовать, чтоб преобразовать именно в строку?
0
swed
09.04.2010, 14:50
Достаточно написать

stringName = [елемент].value;
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 15:09  [ТС]
В том то и проблема, что получается недостаточно. Вот мой код:
var StringName=document.forms[k].elements[5].value;
var NN;
NN=StringName.LastIndexOf; - именно на этой строчке получается ошибка!
Причём если эту строчку заменить на
NN=StringName.length - то прекрасно работает.
LastIndexOf - метод, length - свойство, видимо, из-за этого проблема...
0
swed
09.04.2010, 15:18
|В том то и проблема, что получается недостаточно. Вот мой код:
|var StringName=document.forms[k].elements[5].value;
|var NN;
|NN=StringName.LastIndexOf; - именно на этой строчке получается |ошибка!
NN=StringName.lastIndexOf - так писать не мона
NN=StringName.lastIndexOf('a'); так писать нуна

lastIndexOf('a') - это метод который возвращает номер последней позиции буквы 'а' в строке StringName,
а просто StringName ничего не вернет

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

|Причём если эту строчку заменить на
|NN=StringName.length - то прекрасно работает.
|LastIndexOf - метод, length - свойство, видимо, из-за этого |проблема...
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 15:22  [ТС]
блин, сори)). У меня так и есть NN=StringName.LastIndexOf('a')
Проблема, к сож, не в этом...
0
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 15:26  [ТС]
'lastIndexOf('a') - это метод который возвращает номер последней позиции буквы 'а' в строке StringName,
а просто StringName ничего не вернет

нужно пользовать length - для того чтобы узнать длинну строки, как ты это и делал '

ты имеешь в виду указать в методе начальные и конечную позиции поиска?
0
swed
09.04.2010, 16:06
document.forms[k].elements[5].value

elements[5] какого типа этот елемент
если он не INPUT то что ты хочеш присвоить ))
может он ТД или еще чего короче
перед тем как написать

стринг=document.forms[k].elements[5].value

напиши alert(document.forms[k].elements[5].value);
и посмотри что оно тебе выдаст
swed
09.04.2010, 16:07
А лучше напиши что ты вообще хочеш сделать
а я тебе посоветую как это сделать лучше
только если будеш писать то пиши по подробнее
0 / 0 / 0
Регистрация: 09.05.2009
Сообщений: 44
09.04.2010, 18:07  [ТС]
Спасибо, что отвечаешь!
В общем зачем мне это надо: у меня есть форма, с помощью которой я загружаю на сервак сразу два файла(картинку для предпросмотра и картинку основную). Правда написал серверный скрипт немного корявый - обязательно одна(маленькая) картинка должна называться 'ImageName', а другая тогда 'big_ImageName'. Обязательно, чтоб имена совпадали, но только у 'большой' картинки должен быть префикс 'big_'. Тот, кто будет админить на сайте и загружать картинки знает про это, но я решил подстраховаться и помимо серверной проверки имён передаваемых файлов, решил сделать ещё клиентскую проверку на JavaScript. Соответственно метод LastIndexOf мне нужен, чтоб найти последний вход обратного слэша (C:imagesImageName , расширение входит в ImageName)
Соответственно найдя последний ' ', я просто найду прдстроку с именем самого файла, а не полного пути к нему на компе. Тогда и сделаю окончательно проверку.
Я пробовал, конечно, как ты пишешь и выводил алертом значение полей формы - всё нормально - выводится полный путь к выбранному файлу. А в аштмл там - <input type=file .... >
Правда я теперь думаю, может вообще не присваивать никакой переменной этого значения. Просто использовать так:
var SubStringName;
SubStringName=StringName.substring(Strin gName.LastIndexOf(' ')+1)

Сейчас попробую это
0
swed
11.04.2010, 10:29
Ты прав так и надо
только чуть по другому ))

var SubStringName = elementNaForme.value;

SubStringName=
StringName.substring(StringName.LastInde xOf(' '),StringName.length);

вот тогда ты точно получиш то что ты хочеш,
а еще лучше что бы не перебырать елементы на форме (все),
присвой этим двум картинкам на форме id=' ... ', какое хочеш, тогда будет проше
например: страница результат работы скрипта на сервере
будет иметь два рисунка
<input type='file' id='big_...'> ... - это твое название ))
<input type='file' id='...'>

тогда в JavaScript нипешеш

var Big_SubStringName = document.getElementById('big_...').value ;
var SubStringName = document.getElementById('...').value;

Big_SubStringName=
Big_StringName.substring(Big_StringName. LastIndexOf(' '),Big_StringName.length);

SubStringName=
StringName.substring(StringName.LastInde xOf(' '),StringName.length);

ну вроде типа того и не надо перебирать все елементы ))
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
11.04.2010, 10:29
Помогаю со студенческими работами здесь

Открыть фаил и присвоить значение строки переменной
В общем есть файл, состоящий из цифр и знаков препинания. Записан в столбик. Так же есть цикл, нужно что бы каждый раз в цикле в...

Как присвоить значение переменной, исходя из значения другой переменной?
Всем привет. Нужна помощь. Есть переменная, например &quot;month&quot; которая может принимать значения от 01 до 12, и переменная...

Как переменной описанной в программе присвоить значение переменной в Conditional Compilation Arguments?
Kak mozhno peremennij opisanoj v programme prisvoit` znachenie peremennoj v Conditional Compilation Arguments??? Eto nado chtoto tipa...

Как php переменной присвоить значение переменной javascript?
есть переменная php как ей присвоить значение переменной javascript?

Переменной z присвоить значение последнего элемента последней строки массива d
Переменной z присвоить значение последнего элемента последней строки массива d


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
16
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь постоянного тока с R, L, C, k(ключ), U, E, J. Программа составляет систему уравнений по 1 и 2 законам Кирхгофа, решает её и находит переходные токи и напряжения на элементах схемы. . . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru