Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/464.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript angularJS/微风吹扫';中级';负数输入(HTML5)_Javascript_Angularjs_Html_Breeze - Fatal编程技术网

Javascript angularJS/微风吹扫';中级';负数输入(HTML5)

Javascript angularJS/微风吹扫';中级';负数输入(HTML5),javascript,angularjs,html,breeze,Javascript,Angularjs,Html,Breeze,在这里打一场小仗。我有一个基于约翰·帕帕方法论的HTML5 SPA应用程序。我有一系列的输入框,可以接受正/负实数 与此类似,当用户键入第一个“-”键作为负数的一部分时,breeze(1.5.2)或angularjs(1.3.15)会将其清除,因为此时它不是有效数字。根据帖子,我在输入中添加了ng模型选项: <input ng-model-options="{ updateOn: 'blur' }" ng-model="rdg.Reading.ManualValue" step="

在这里打一场小仗。我有一个基于约翰·帕帕方法论的HTML5 SPA应用程序。我有一系列的输入框,可以接受正/负实数

与此类似,当用户键入第一个“-”键作为负数的一部分时,breeze(1.5.2)或angularjs(1.3.15)会将其清除,因为此时它不是有效数字。根据帖子,我在输入中添加了ng模型选项:

<input 
 ng-model-options="{ updateOn: 'blur' }"
 ng-model="rdg.Reading.ManualValue"
 step="any" type="number"/>
这听起来在概念上更好,但这没有任何效果-因此回到了onBlur

我真的需要一些关于如何让这更好的建议。OnBlur帮了忙,但我能听到我将要听到的抱怨,因为这种输入数字的方式不一致

谢谢你的帮助。
Corey.

当breeze解析并更新实体时,输入被重置。为了防止这种情况发生,您可以将breeze的
z-float
angular指令添加到输入中

将脚本添加到页面:

<script src="https://rawgithub.com/Breeze/breeze.js.labs/master/breeze.directives.js" ></script>
并将
z-float
指令添加到输入中:

<input data-ng-model="vm.person.balance" z-float placeholder="Balance" />

原因是Angular急切的数据绑定。Angular将每次击键发送到数据绑定模型属性

当Breeze在用户完成输入之前解析数据条目时,这就成了一个问题。当微风解析对她的中间值做一些事情时,用户可以处于数据输入的中间,在她有机会完成她的想法之前,用其他东西更新属性。
要了解更多细节,并查看其实际效果,请查看他们的

。据我所知,这一定是微风中的某种东西。Angular对负数没有任何问题,只是以他们的验证为例,在Plunker中打开它,删除
min=
表达式,负数就可以了。你能给我们多一点代码吗,特别是让breeze将数据持久化到服务器的方式和位置?您的表单上有保存按钮吗?这里有一个plunker,可以很好地演示这个问题;它来自于与此问题相关联的问题。在本示例中,任何少于4个字符的内容都会破坏文本框;就海报而言,负面因素会导致问题。在这两种情况下,不必向服务器提交数据来打破框框。@flup我认为这与向服务器提交数据无关,但只在客户端验证中进行。我希望像沃德(微风大师)这样的人能够发表评论。我将尝试一个自定义验证函数,看看是否有帮助。需要更多信息。另一个例子中的Plunkr给出了问题b/c的两个原因:1)它使用最小长度,2)填充数组,因此当前目标为空。你的问题是不同的,使用你的标记,我不能重新创建你的错误。您的控制器中是否对该模型进行了某种主动验证?@Claies您的问题恰恰相反。Angular急切地砍掉输入的字符,这样它们就永远不会变得足够大。另一个调整解析而不是格式的指令可以帮助您实现这一点。看见
angular.module('yourApp', ['breeze.directives']);
<input data-ng-model="vm.person.balance" z-float placeholder="Balance" />