POST没有从角度获取当前值

时间:2016-07-16 21:22:39

标签: javascript php angularjs

在我看来,有两种形式(一种是可见的,另一种是隐藏的)。第一个作为动作调用控制器中的submit1()函数,反过来将调用document.getElementById('form2').submit();第二个表单动作具有直接调用php的方法POST

现在我无法理解为什么我的submit1()看起来像这样:

function submit1()
{
	// doesnt matter
	$scope.first = 'this is my string'; 		// here I'm modifying variable from $scope1 that is directly in form2
	document.getElementById('form2').submit();	// problem here!

	// doesn't matter
}

它没有按预期工作。

基本上,当发送form2时,它仍然具有默认值(未更改)。 看起来它不会真正改变函数submit1()范围之外的变量,或者POST不会接受此更改。任何人都可以告诉我为什么会这样?

此外,我以前使用$ http post方法而不是document.getElement().submit(),它运行正常。所以这似乎很奇怪。

我很感激这方面的任何帮助。 谢谢!

Edit1 :(添加更多代码以正确定义问题):

view:
<div class="container">

	<div ng-hide="true" >
		<form action="./order2.php" id="form2" method="POST">
			<input type="text" name="username" value="{{username}}"/>
			<input type="text" name="phone" value="{{phone}}"/>
			<input type="text" name="address" value="{{address}}"/>
			<input type="text" name="price" value="{{totalPrice}}"/>
			<input type="text" name="email" value="{{email}}"/>
			<input type="text" name="message" value="{{text}}"/>
			
			<input type="submit"/>
		</form>

	</div>
	
	<form novalidate id="contact-form" name="contactForm">

		<a class="btn btn-success" ng-click="submit1()" href>
			<i class="fa fa-check-circle-o fa-lg"></i> 
			{{ 'ID_ORDER_BUTTON' | translate:$root.currentLang }}
		</a>				
	</form>
</div>

控制器:

Appcontrollers.controller('controller1', function($scope, $http, $rootScope, $timeout, $routeParams, $window, $location, databaseService, translationService, cartService, leatherService, $location) {
	$scope.text="";
	$scope.email="11111@2222.com";
	$scope.price=0;
	$scope.address= "add";
	$scope.phone="1213131";
	$scope.username="usera";
	
		
	$scope.submit1 = function() {
		$scope.price=999999999; // this looks like doesn't have effect.
		document.getElementById('form2').submit();	
	}
}

0 个答案:

没有答案