2015-05-01 2 views
0

Мне нужно получить данные из скрытого поля. Из-за ограничений данной системы я не могу указать Id. Я далВыберите скрытый ввод по атрибуту name

<input type="hidden" value="knob" name="door"> 

и я стараюсь var x = $("input[name='#Door']")[0].value; но x выдает ошибку:

$(...)[0] is not defined

Я пинал это в течение нескольких часов. Предложения нужны.

+0

Очевидно, что имя не '# Door', а' door'. –

+1

@ Karl-AndréGagnon, кто-то уже отправил ответ ниже, который точно говорит об этом. – IronFlare

+0

@IronFlare * "Используйте это:" * не совсем то же самое .... И ответ был неправильным до редактирования. –

ответ

1

Используйте это:

var x = $("input[name='door']")[0].value; 

Как другой плакат предложил вы можете использовать $(...).val(), и должны делать, если у вас нет особых причин, чтобы выбрать только первый матч.

+0

Я все еще получаю ошибку типа $ (...) [0] не определено. Честно говоря, я вырезал и вставил. –

+0

Корпус двери и двери не соответствует. См. Править. Javascript чувствителен к регистру. Дверь и дверь не равны. – garryp

1

Вы используете .value, который вызывает это свойство, которое не определено.

Использование .val()

Затем вы вызываете #Door, который не существует.

Используйте door, так как это имя входа.

Собираем их вместе:

<script> 
    var x = $("input[name='door']").val(); 
    console.log(x); 
</script> 

Update

Не видел [0], используя .value работает отлично. Но поскольку вы используете Jquery, почему бы не использовать .val().

+1

Использование индексатора [0] предоставляет необработанный элемент DOM, поэтому значение должно возвращать значение входного элемента. – garryp

+0

СПАСИБО, работает отлично. Я кое-что узнал. –

+0

@ErickEngelke Спасибо! Рад помочь! –

0

Проблема в объявлении только

jquery name selector

Вы можете выбрать элемент по имени, как: $ ("[имя = 'значение']"), так что для вашей проблемы вы можете использовать $("input[name='door']").val();

Смежные вопросы