无法获取 ng-if 包装的输入值
cannot get value of inputs wrapped by ng-if
我无法获取 ng-if 包装的输入值
这是 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
};
谁能帮帮我?提前致谢
当使用 ng-if 时,如果 formsetting.name 永远等于 false,DOM 元素将不会被渲染。这意味着您将无法取回您的输入值,因为它们不会呈现给 DOM。检查 formsetting.name 是否确实为 true 或在您的控制器中初始化为 true 如果这对您有意义。如果 formsetting.name 可以改变你可能想要使用 ng-show 的值。使用 ng-show 将元素绘制到 DOM 但隐藏它们以便您仍然可以访问它们。
我无法获取 ng-if 包装的输入值 这是 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
};
谁能帮帮我?提前致谢
当使用 ng-if 时,如果 formsetting.name 永远等于 false,DOM 元素将不会被渲染。这意味着您将无法取回您的输入值,因为它们不会呈现给 DOM。检查 formsetting.name 是否确实为 true 或在您的控制器中初始化为 true 如果这对您有意义。如果 formsetting.name 可以改变你可能想要使用 ng-show 的值。使用 ng-show 将元素绘制到 DOM 但隐藏它们以便您仍然可以访问它们。