Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/41.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 无法设置原始表单,因为要将我的问题推送到数组中_Javascript_Css_Angularjs_Twitter Bootstrap - Fatal编程技术网

Javascript 无法设置原始表单,因为要将我的问题推送到数组中

Javascript 无法设置原始表单,因为要将我的问题推送到数组中,javascript,css,angularjs,twitter-bootstrap,Javascript,Css,Angularjs,Twitter Bootstrap,我正在尝试做一个测验申请。。。。但我想向用户提问,这就是为什么我决定制作一个有很多条件的表单,比如(ng if、ng show、ng hide),但我被困在了最后一点 最后一点是函数addQuestion()函数,它位于quick.controller.js行@166中 如果我将所有需要的变量声明为空,那么它会将空数据存储在db.json文件中 我不知道我哪里弄错了 我无法设置表单的原始状态,而我希望在每次插入问题后都保持原始状态。 虽然我尝试只在quick.service.js中实现数据,但我

我正在尝试做一个测验申请。。。。但我想向用户提问,这就是为什么我决定制作一个有很多条件的表单,比如(ng if、ng show、ng hide),但我被困在了最后一点

最后一点是函数
addQuestion()
函数,它位于quick.controller.js行@166中

如果我将所有需要的变量声明为空,那么它会将空数据存储在db.json文件中

我不知道我哪里弄错了

我无法设置表单的原始状态,而我希望在每次插入问题后都保持原始状态。

虽然我尝试只在quick.service.js中实现数据,但我还是在使用json服务器 请帮帮我


虽然您没有提到您面临的错误,但我的猜测是,如果调用
$scope.queForm
,则由于在控制器块内的html块的开头有一个
ng if
,因此未定义

这是因为
ng if
创建了一个独立的作用域,这意味着您有两个选项:

1-将表格传递给addQuestion:

$scope.addQuestion = function(queForm){
   //...
   queForm.$setPristine(true); 
};
Html:


我创建了一个工作示例。

您的plunker不工作!!!先生,实际上现在我更新了我的plunker(quick.service.js&&db.json)文件,尽管它现在不工作,但您可以下载并在任何本地服务器上使用它,然后它必须工作,您会知道我必须先单击“制作您的测试”按钮,然后它会要求标题,我想提供的问题说明和编号,然后我必须单击“立即开始”按钮,就像我以前填写问题表时一样,然后我想重复使用该表,直到问题总数未完成??非常感谢您的回复,先生。嗨,您好,先生再次感谢您的帮助,但很抱歉,这两种解决方案对我也不起作用,是的,你得到了我想要的,实际上我想使用表单(从第62行到268@index.html),点击提交问题按钮后,我尝试了,但我无法理解如何使用setpristine()作为条件表单,而且我在互联网上尝试了很多方法,我发现我可能做错了什么……除非你告诉我你面对的是什么错误,否则我再也帮不了你了。请参阅更新以获得一个工作示例@a.Sharmathanks sir,以获取您的答复,但是,先生,我很抱歉,我会在填写问题表后单击“提交问题”按钮时向您说明这一点。我希望表单将被设置为原始状态和未接触状态,但它显示的是无法读取未定义的属性$setPristine()。。。。我尝试了您之前建议我的两种解决方案,我也尝试了您的这个更新示例,通过您提供的新更新示例$setPristine()正在工作,但db中提交的字段为空。。。我想,因为我试图将所有对象定义为空。
<form name="queForm" ng-submit="addQuestion(queForm)" novalidate>
<form name="myFormContainer.queForm" ng-submit="addQuestion()" novalidate>
$scope.queForm.$setPristine(true);