2015-04-18 3 views
-2

Я видел много примеров и сделал то же самое, но я не могу установить значение с помощью JavaScript.Почему JavaScript не установлен h: inputHidden value?

Существует мой код

<h:form id="listPlacesForm"> 
    <h:inputHidden id="hiddenMapCenter" value="#{userPlaces.center}" /> 
</h:form> 

и JavaScript

if (navigator.geolocation) { 
    navigator.geolocation.getCurrentPosition(findPosition); 
} else 
    error('Geo Location is not supported'); 

function findPosition(position) { 
    var lat = position.coords.latitude; 
    var lng = position.coords.longitude; 
    alert('Start') 
    var str = lat + ", " + lng; 
    var elem = document.getElementById('listPlacesForm:hiddenMapCenter') 
    alert(str) 
    elem.value = 'asfsf' 
    alert('It works!' + str); 
} 

Все это код работает, за исключением линии: elem.value = 'asfsf'
Я пробовал: elem.value = 'sfd', elem.value = "asfd", elem.value = str

Любые идеи?

UPDATE 1
Сгенерированный HTML

<form id="mainTabId:listPlacesForm" 
     name="mainTabId:listPlacesForm" method="post" 
     action="/DarkComm/app/settings?execution=e3s1" enctype="application/x-www-form-urlencoded"> 
     <input type="hidden" name="mainTabId:listPlacesForm" value="mainTabId:listPlacesForm" /> 
     <input id="mainTabId:listPlacesForm:hiddenMapCenter" 
      type="hidden"   
      name="mainTabId:listPlacesForm:hiddenMapCenter" value="" /> 
    <input type="hidden" name="javax.faces.ViewState" 
      id="javax.faces.ViewState" value="e3s1" /> 
</form> 
+0

Пробовали ли вы просто использовать 'hiddenMapCenter' как идентификатор в 'document.getElementById' вместо' listP lacesForm: hiddenMapCenter'? – Musa

+0

@Musa, Да, я сделал – DarkFeniks

+0

У вас есть несколько элементов с одним и тем же идентификатором? – JJJ

ответ

-2

Изменить это:

 var elem = document.getElementById('listPlacesForm:hiddenMapCenter') 

Для этого:

 var elem = document.getElementById('hiddenMapCenter') 
+1

JSF добавляет 'id' с соответствующими родительскими компонентами, если 'prependId', связанный с' ', установлен в значение false. – Tiny

+0

Попробуйте здесь: http://jsfiddle.net/AlexeiTruhin/2sops8br/ Результат: http://i.imgur.com/Oac9CSl.png – alexeiTruhin

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

  • Нет связанных вопросов^_^