2015-01-18 1 views
0

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

<div ng-controller="Home"> 
    <form ng-submit="startChat(visitor)" > 
     <div class="lkv_getting"> 
      <div ng-if="formsetting.name == true"> 
       <input required ng-class="lkv_name_class" ng-model="visitor.name" id="lkv_name" name="lkv_name" type="text" class="lkv_input" placeholder="Nhập họ tên" /> 
      </div>     
      <textarea required maxlength="100" placeholder="Gõ tin nhắn!!" ng-model="visitor.msg" id="message_input" name="lkv_message_input"></textarea> 
      <button class="lkv_button" type="submit" id="lkv_start" title="Message">Bắt đầu</button> 
     </div> 
    </form> 
</div> 

и контроллер

$scope.startChat = function (visitor) {   

    var user = visitor.name; // the value is undefine 
    var msg = visitor.msg; // but this one has value 
}; 

Любой может помочь меня? Заранее спасибо

ответ

1

При использовании ng-если элементы DOM не будут отображаться, если formetting.name когда-либо равно false. Это означает, что вы не сможете вернуть свои входные значения, так как они не будут отображаться в DOM. Убедитесь, что formetting.name действительно истинно или инициализировано true в вашем контроллере, если это имеет смысл для вас. Если formetting.name может изменять значения, вы, вероятно, захотите использовать ng-show. Использование ng-show рисует элементы в DOM, но скрывает их, поэтому вы можете получить к ним доступ.

+0

Можете ли вы дать мне код фрагмента для этой ситуации. thanks –

+0

Может ли formetting.name когда-либо изменяться с true на false? Или будет ли он всегда оставаться одним и тем же значением после загрузки контроллера? Можете ли вы показать мне, как formetting.name устанавливается в вашем контроллере? – nweg

+0

в моем случае 'formetting.name' является истинным и отображаются элементы DOM. извините за мой Englisg –

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