Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Получить значение value - как ? (https://javascript.ru/forum/misc/30674-poluchit-znachenie-value-kak.html)

lamer 11.08.2012 21:53

Получить значение value - как ?
 
Здравствуйте. Возможно ли получить значение value="" каким нибудь другим методом кроме:
document.getElementById('').value
document.getElementsByName('').value
document.forms[0].elements[0].value

т.е. в моем случае не возможно получить значение value по идентификатору, имени и номеру элемента.

Вопрос: Есть другие варианты получить значение value ?
Спасибо.

bes 11.08.2012 22:01

className, приведите пример, чего хотите

Deff 11.08.2012 22:05

lamer,
Вот - Вот код HTML в студию - номер у элемента в DOM всегда есть

lord2kim 11.08.2012 22:15

lamer, еще есть вариант с getElementsByTagName()
но конкретнее можно что-то сказать узрев HTML

bes 11.08.2012 22:24

Дзен-трансгуманист, номер, индекс, смысл тот же, разные названия, смысл тот же ;)

lamer 11.08.2012 22:42

Дзен-трансгуманист, =))

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

При чем поправить код чтоб генерились рандомно нет возможности.

Вот и спрашиваю есть альтернатива кроме тех вариантов что я указал ?

lamer 11.08.2012 22:44

Цитата:

Сообщение от lord2kim (Сообщение 196740)
lamer, еще есть вариант с getElementsByTagName()
но конкретнее можно что-то сказать узрев HTML

тут тоже нужно знать номер элемента нужного инпута, а я его знать не могу, т.к. при каждой перезагрузки страницы он меняется.

Deff 11.08.2012 22:45

lamer,
Ну у него есть родители с признаками - иль мудрено ?

bes 11.08.2012 22:53

Дзен-трансгуманист, такие сравнения здесь не уместны, а сам анекдот дебильный, и смеха и смысла тут мало (приблатнёная тема не добавляет ему значимости), индекс есть номер, и понятно о чём шла речь, так что смысла придираться - не было.

lamer 11.08.2012 22:56

Цитата:

Сообщение от Deff (Сообщение 196754)
lamer,
Ну у него есть родители с признаками - иль мудрено ?

Инпуты в таблице, а таблица в форме. У формы есть постоянный идентификатор, только толку от родителей если инпуты меняются, сперва нужный инпут первый по счету в форме, потом третий, потом после перезагрузки страницы пятый и т.д.
Как родители могут помоч в данной ситуации ?

bes 11.08.2012 23:00

lamer, хватит уже вводить людей в догадки, объясни толково, что происходит и что надо.
Назначай id, сlass и т.д. если хочешь идентифицировать элемент.

lamer 11.08.2012 23:08

Цитата:

Сообщение от bes (Сообщение 196761)
lamer, хватит уже вводить людей в догадки, объясни толково, что происходит и что надо.

А что я не так сказал ?
Получить значение валуе нельзя по средствам имени, идентификатора и номера елемента.
Вопрос: Каким методом можно ещё получить значение валуе ?

1 рас зашел на страницу:
<input id="ewrbjsld" name="ewrbjsld" type="text" value="1000"><br>
<input id="gkjlsd" name="gkjlsd" type="text" value="2000"><br>
<input id="sd5678ujiskd" name="sd5678ujiskd" type="text" value="3000"><br>
<input id="fsdfsdth" name="fsdfsdth" type="text" value="4000"><br>
<input id="fsdfyh" name="fsdfyh" type="text" value="5000"><br>
<input id="juyjuy" name="juyjuy" type="text" value="6000"><br>
<input id="ty456ytrrt" name="ty456ytrrt" type="text" value="7000"><br>


Нужный инпут второй по счету.

2 рас зашел на страницу:
<input id="jhgjhgjg" name="jhgjhgjg" type="text" value="4000"><br>
<input id="retert" name="retert" type="text" value="5000"><br>
<input id="jhkjkh" name="jhkjkh" type="text" value="1000"><br>
<input id="erterfgd" name="erterfgd" type="text" value="2000"><br>
<input id="dfgdfgdf" name="dfgdfgdf" type="text" value="3000"><br>
<input id="juyfghfghjuy" name="juyfghfghjuy" type="text" value="6000"><br>
<input id="fdgfdgfd" name="fdgfdgfd" type="text" value="7000"><br>


Нужный инпут четвертый по счету.

3 рас зашел на страницу:

<input id="hgjyt" name="hgjyt" type="text" value="6000"><br>
<input id="dfgfd" name="dfgfd" type="text" value="7000"><br>
<input id="khjg" name="khjg" type="text" value="4000"><br>
<input id="ert" name="ert" type="text" value="5000"><br>
<input id="fdgdf" name="fdgdf" type="text" value="1000"><br>
<input id="jty" name="jty" type="text" value="2000"><br>
<input id="tre" name="tre" type="text" value="3000"><br>


Нужный инпут шестой по счету.

ФЕРШТЕЙН ?

bes 11.08.2012 23:14

Каждый раз у инпутов разные имена и id, но value - один и тот же, на основе этого и получай в цикле всех инпутов в нужном месте
if (elem.value == 2000)

bes 11.08.2012 23:17

Цитата:

Сообщение от bes (Сообщение 196768)
Каждый раз у инпутов разные имена и id, но value - один и тот же, на основе этого и получай в цикле всех инпутов в нужном месте
if (elem.value == 2000)

PS: document.getElementByValue() - нет

lamer 11.08.2012 23:18

bes, валуе тоже разные, это всего лишь пример.

bes 11.08.2012 23:20

Цитата:

Сообщение от lamer
bes, валуе тоже разные, это всего лишь пример.

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

lamer 11.08.2012 23:26

Постоянное Ид формы и у нужного инпута постоянное значение size="5" maxlength="4"

Это единственный постоянной момент

lord2kim 11.08.2012 23:26

lamer, либо поковыряться на серве, как-то получив к нему доступ и изменить настройки вывода данных input-ов, либо может рядом с нужным input-ом какой-то текст выводится?
Цитата:

Сообщение от lamer (Сообщение 196776)
Постоянное Ид формы и у нужного инпута постоянное значение size="5" maxlength="4"

Это единственный постоянной момент

у других элементов отличаются значения атрибутов size и maxlength ?

bes 11.08.2012 23:31

Цитата:

Сообщение от lamer
Постоянное Ид формы и у нужного инпута постоянное значение size="5" maxlength="4"

на основе этого постоянного и надо выбирать

lamer 11.08.2012 23:31

Цитата:

Сообщение от lord2kim (Сообщение 196777)
lamer, либо поковыряться на серве, как-то получив к нему доступ и изменить настройки вывода данных input-ов, либо может рядом с нужным input-ом какой-то текст выводится?

у других элементов отличаются значения атрибутов size и maxlength ?

Текста рядом нет не какого, значения size и maxlength у других инпутов либо разные либо их нет вообще, т.е. нет в нескольких инпутов надписи size и maxlength

lord2kim 11.08.2012 23:35

lamer,
<html>
<head>
<title></title>
<script>
function a() {
	var elems = document.getElementById("form").getElementsByTagName("input");
	for (i=0; i < elems.length; i++) {
		if (elems[i].size == 5 && elems[i].maxLength == 4) {
			alert(elems[i].value); break;
		}
	}
}
</script>
<form id="form">
<input id="hgjyt" name="hgjyt" type="text" value="6000" size="6" maxlength="4"><br>
<input id="dfgfd" name="dfgfd" type="text" value="7000" size="5" maxlength="5"><br>
<input id="khjg" name="khjg" type="text" value="4000" size="5" maxlength="3"><br>
<input id="ert" name="ert" type="text" value="5000" size="4" maxlength="4"><br>
<input id="fdgdf" name="fdgdf" type="text" value="1000" size="3" maxlength="4"><br>
<input id="jty" name="jty" type="text" value="2000" size="5" maxlength="4"><br>
<input id="tre" name="tre" type="text" value="3000" size="5" maxlength="2"><br>
</form>
<input type="button" onClick="a()" value="Click">
</body>
</html>

bes 11.08.2012 23:42

lord2kim, не забывай добавлять var (var i = 0) дабы не плодить глобальных переменных, а также выносить elems.length в отдельную переменную, так как идёт вычисление этого значения при каждой итерации цикла

lord2kim 11.08.2012 23:46

bes, все сделано по привычке...про отдельную переменную согласен, а i...ну существует она как глобальная и существует...не использую таковую нигде кроме циклов, а в новом цикле в любом случае получит новое исходное значение

bes 11.08.2012 23:52

lord2kim, ну если так, то вопросов нет, пока один поддерживаешь свой код - по барабану.

Deff 11.08.2012 23:57

<form id="form">
<input id="hgjyt" name="hgjyt" type="text" value="6000" size="6" maxlength="4"><br>
<input id="dfgfd" name="dfgfd" type="text" value="7000" size="5" maxlength="5"><br>
<input id="khjg" name="khjg" type="text" value="4000" size="5" maxlength="3"><br>
<input id="ert" name="ert" type="text" value="5000" size="4" maxlength="4"><br>
<input id="fdgdf" name="fdgdf" type="text" value="1000" size="3" maxlength="4"><br>
<input id="jty" name="jty" type="text" value="2000" size="5" maxlength="4"><br>
<input id="tre" name="tre" type="text" value="3000" size="5" maxlength="2"><br>
</form>
<input type="button" onClick="a()" value="Click">


<script>
function a() {
	var elems = document.getElementById("form")//.getElementsByTagName("input");
	var i=0;
	var str = elems.innerHTML.replace(/^[\s\S]*?(<input[^>]*?size="5"[^>]*?maxlength="4"[^>]*?>)[\s\S]*?$/ig,"$1")
alert(str)
}a()
</script>

lamer 12.08.2012 00:30

lord2kim, Спасибо за пример, даже не знал что так можно =)
Deff, Интересный вариант =)

Спасибо...

bes 12.08.2012 10:33

Цитата:

Сообщение от bes
индекс есть номер

Цитата:

Сообщение от Дзен-трансгуманист
Вот и номер не есть индекс как таковой, а его надмножество, суперкласс.

надо ж так всё перековеркать с ног на голову, при этом сказав правильно.
индекс есть частный случай номера, логично, что номер не факт, что индекс, так я этого и не говорил,
Цитата:

Сообщение от bes
индекс есть номер

и Deff сказал номер, а значит был прав, если бы было по-другому, анекдот про "в и на" прошёл бы;)

Цитата:

Сообщение от lamer
lord2kim, Спасибо за пример, даже не знал что так можно =)
Deff, Интересный вариант =)

Спасибо...

я по ходу lamer-у не помог, или он не понял :D


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