【发布时间】:2018-08-20 08:38:55
【问题描述】:
我有一个由 ng-repeat 组成的表单(针对每个需求)。 用户将能够编辑此 ng-repeat 中的“日期 réalisation”或“motif refus”,然后单击按钮提交“Valider la modify”,仍在此 ng-repeat 中(编辑需求中的需求)。
代码如下:
<div class="jumbotron" ng-controller="gestDemInstallController">
<h1 class="text-center">{{ soustitre }}</h1>
<p>{{presentation}}</p>
<!--une ligne pour chaque demande
utilisation de getDataDemandesInstall.php
et de getDataDemandesInstallApplis.php
-->
<form>
{{ reussite }}<!-- indique un msg au clic du gestionnaire -->
<br><!-- on affiche chaque demande d'installation -->
<div ng-repeat="dem in demandesInstallations" class="tableau">
<br>
<label>ID :</label>
{{dem.id}}
<br>
<label>Ordinateur :</label>
{{dem.nomPC}}
<br>
<label>Date demande :</label>
{{dem.dateDemande}}
<br>
<label>Date réalisation :</label>
<input ng-model="date_real" type="date" value="{{dem.dateRealisation}}" class="form-control input-normal bouton">
Date enregistrée: {{dem.dateRealisation}}
<br><br>
<label>Motif refus :</label>
<input ng-model="motif_refus" type="text" value="{{dem.motifRefus}}" class="form-control input-normal bouton">
<br>
<label>Unité :</label>
{{dem.unite}}
<br>
<label>Demandeur :</label>
{{dem.demandeur}}
<br>
<!--boucle ng-repeat affichant chaque appli et profil choisi-->
<div ng-repeat="a in demandesInstallApplis">
<label><i>Applications demandées</i></label><br>
<label>Nom application :</label>
{{a.nom}}
<br>
<label>Profil demandé :</label>
{{}}
</div><!--fin ligne les applications-->
<input ng-model="btn{{dem.id}}" ng-click="checkGestDemInstall()" type="button" value="Valider la modification" class="form-control">
</div><!--fin de la demande, fin du ng-repeat-->
</form>
这里是控制器(AngularJS)
//----RECUPERATION DES DONNEES : METHODE POST---------//
//----------------------------------------------------//
$scope.checkGestDemInstall = function(){
//on valide les données entrées
//on peut ensuite les envoyer au script PHP
//en utilisant la méthode HTTP Post
var error=0;
/*---- Le mot de passe est vérifié --*/
//si pas d'erreur (ni d'erreur mdp ni d'erreur id/mail)
if (error === 0) {
//on lance la méthode POST de la requête HTTP
var request = $http({
method: "post",
url: "/sio2/projets/gedeon_php/pages/postGestDemInstall.php",
data: {
//celui qui a été cliqué
date_real: $scope.date_real,
motif_refus: $scope.motif_refus
},
headers: { 'Content-Type': 'application/x-www-form-urlencoded' }
});
/* Check whether the HTTP Request is Successfull or not. */
request.success(function (data) {
$scope.reussite = "Données bien envoyées : "+data +" (information réceptionnée de PHP)";
});
}
else {
$scope.reussite = "Vous avez mal rempli le formulaire. Erreur de type : " + error;
}
}; //fin fonction checkGestDemInstall()
正如您在我的控制器中看到的那样,我想获取我的数据,我的意思是 dem.date_real 和 dem.motif_refus,而我对每个输入都有相同的 ng-model... 实际上我有几个输入(一个由 ng-repeat 提供),我真的不知道如何从编辑的“date_real”和编辑的“motif refus”中获取数据。
感谢您的任何建议!
////////////////// 感谢您的建议,我现在有了这些代码,但仍有一些错误: 错误 1: $parse:syntax
错误 2: ngRepeat:dupes
在我的 ng-repeat 需求中:
<label>Date réalisation :</label>
<input ng-model="dem.dateRealisation" type="text" value="{{dem.dateRealisation}}" class="form-control input-normal bouton">
Date enregistrée: {{dem.dateRealisation}}
<br><br>
<label>Motif refus :</label>
<input ng-model="dem.motifRefus" type="text" value="{{dem.motifRefus}}" class="form-control input-normal bouton">
在我的控制器中:
data: {
//celui qui a été cliqué
date_real: $scope.dateRealisation, //= new Date(dateRealisation),//error ngModel:datefmt
motif_refus: $scope.motifRefus
},
然后在这里发布我的数据,我想通过在 PHP 中回显它来检查它,就像我通常在插入之前所做的那样......
include('../bdd/conn.php');
$postdata = file_get_contents("php://input");
$request = json_decode($postdata);
@$date_real = $request->dateRealisation;
@$motif_refus = $request->motifRefus;
echo 'date real : '. $date_real . ' motif refus : '. $motif_refus;
我喜欢一切都可以理解,所以我做了一个小计划来解释:
【问题讨论】:
-
我不明白你的问题。你用谷歌翻译吗?请解释你的问题。所以我们可以帮助你。谢谢。
-
我编辑了最后的解释,如果有困惑,对不起,我最近开始学习 AngularJS ;)
标签: javascript angularjs forms post angularjs-ng-repeat