私は Angular.js が初めてで、送信時にフォームからデータを取得する方法を理解しようとしています。しかし、フィールドは ng-repeat の一部です。ajaxSubmitButton を使用して投稿値のみを表示する php サーバー側スクリプトに送信すると、最後の入力フィールドのみが表示されます...意味がある場合。フォームコードは次のとおりです。
<form class="form">
<div id="client-form" ng:controller="ClientForm">
<div class="client" ng:repeat="client in form.clients">
<div class="row">
<input type="text" name="client.name" size="80" />
</div>
</div>
<div>
<?php echo CHtml::ajaxSubmitButton(
'Submit',
CHtml::normalizeUrl(array('client/create.php')),
array(
'success'=>'function(data){
alert("success:"+data);
}',
)
); ?>
</div>
JavaScript は次のとおりです。
<script src="'/js/angular.min.js'; ?>" ng:autobind></script>
<script>
function ClientForm(){
this.form = {
clients : [
{ name: 'test1', },
{ name: 'test2', },
{ name: 'test3', },
]
};
}
</script>
また、PHP スクリプトは非常に単純です。
<?php
print_r($_POST);
?>
ajaxSubmitButton 呼び出しのアラートは、次を返します。
success:Array
(
[client]=>test3
)
ご覧のとおり、最後の入力テキスト フィールドの値のみを返しています。
ここで何か間違ったことをしているに違いないと確信していますが、それを見ることができないようです。どんなガイダンスも素晴らしいでしょう。
ありがとう。