Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Использование свойства объекта в форме (https://javascript.ru/forum/dom-window/54692-ispolzovanie-svojjstva-obekta-v-forme.html)

ksvsvk 28.03.2015 07:06

Использование свойства объекта в форме
 
В структуре сайта, создаваемой CMS есть объект, идентифицирующий пользователя:

<script type="text/javascript">

JSCat={
user:'522',
page:'home'
} 

</script>


Мне нужно в скрытое поле формы подставить значение 522.
Пробовал делать так:

<form ...>
  <input name="User_Id" type="hidden" value=JSCat.user>
  ...
</form>


Подставилось "JSCat.user" :( А как подставить значение?

laimas 28.03.2015 07:28

Все правильно, JSCat.user это строка значения, а не исполняемый код. Можно при загрузке страницы определить, а можно при отправке формы по событию onsubmit определить это значение:

<form onsubmit="this.User_Id.value=JSCat.user">

ksvsvk 28.03.2015 08:21

Сработало! Спасибо.

laimas 28.03.2015 08:27

1 > Мне нужно в скрытое поле формы подставить значение 522.

2 > Мне нужно не это, мне нужно вытащить значение свойства user объекта JSCat

То есть первое, это я сам придумал, так как вам надо было второе?

laimas 28.03.2015 09:06

Ну вы молодец, написали одно, потом подправили, и я в дураках остался :)

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

<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script> 
var JSCat = {
    user:'522',
    page:'home'
}
</script>     
</head> 
<body>
<form onsubmit="this.User_Id.value=JSCat.user;alert(this.User_Id.value);return false">
  <input name="User_Id" type="hidden">
  <input name="Send" type="submit" value="Сохранить">
</form>
</body> 
</html>


Посмотрите, есть объект, а значит нет проблем получить его свойство, что и делается при событии onsubmit. Посмотрите у себя, у вас значит картина совсем иная.

ksvsvk 29.03.2015 07:00

Спасибо, все работает!


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