我是Angular JS的新手。我有一个简单的表格如下: 的 test3.php:
<!DOCTYPE html>
<html ng-app>
<head>
<script src="http://code.angularjs.org/1.2.4/angular.min.js"></script>
</head>
<body>
<form name="myForm" id="myForm" ng-controller="Register" ng-submit="submit()" action="test2.php" method="post">
<label>First Name:</label>
<input type="input" name="firstname" ng-model="firstname" required>
<label>Last Name:</label>
<input type="input" name="lastname" ng-model="lastname" required>
<label>Email:</label>
<input type="email" name="email" ng-model="email" required>
<input type="submit" id="submit" value="Submit" />
</form>
<script>
function Register($scope) {
$scope.firstname = '';
$scope.lastname = '';
$scope.email = '';
$scope.submit = function() {
document.getElementById('myForm').submit();
};
}
</script>
</body>
</html>
test2.php:
<?php
echo $_POST['firstname'];
?>
当我加载test3.php并点击提交而不填写任何细节时,我收到相应填写字段的消息,表单未提交给test2.php。正确输入所有详细信息后,如果单击“提交”,则会看到$_POST['firstname]
值。这在chrome和firefox中正常工作。
但在IE9中,根本没有验证。点击提交后,表格总是提交,是否为空。
如何在IE9中进一步使用此代码? Angular JS API为IE 8及更低版本提供了帮助。
答案 0 :(得分:3)
原因是由于(IE < 10)
在客户端验证方面不符合HTML5
,因此如果输入元素上存在"required"
属性,则不会返回true ,而是返回(string)
属性值。
使用ngRequired
代替required
属性。