如何使用表单数据打印值?

时间:2017-07-10 11:51:16

标签: javascript jquery html angularjs

我想使用formdata.entries函数打印表单数据值?原因是我有多次ng-repeat。

<table class="table table-bordered table-hover">
    <thead>
        <tr>
            <th>Coupon Code</th>
        </tr>
    </thead>

    <tbody>
        <tr ng-repeat="coupon in coupons" class="{'fadeOut' : coupon.done}">
            <td>{{coupon.title}} <span class="fa fa-close margin-left" ng-click="deletecoupon($index)"></span>
            </td>
        </tr>
    </tbody>
</table>

<div name="couponsFrm">
    <input type="text" name="newcoupon" ng-model="newcoupon" required />
    <button ng-disabled="couponsFrm.$invalid" ng-click="addcoupon()" class="btn btn-primary">Add Coupon</button>
</div>

这是控制器

$scope.submitTrType = function(){
    var formData = new FormData("#my-form");
    console.log(formData);
    formData.append('key1', 'value1');
    formData.append('key2', 'value2');
    for(var pair of formData.entries()) {
        console.log(pair[0]+ ', '+ pair[1]); 
    }
}

3 个答案:

答案 0 :(得分:1)

试试这个:

for (var value of formData.values()) {
                alert(value);
           }

答案 1 :(得分:0)

您必须为表单中的每个文本框定义ng-model。然后,您可以使用$ scope.textBox1(示例变量名称)访问“submitTrType”函数中的这些文本框值。

答案 2 :(得分:0)

您不会使用FormData获取表单元素的值。如果你确实需要它,那么你可以做这样的事情

var formElements = document.forms['my-form'].elements['nameOfFormElements'].value;

或使用JQuery或javascript获取表单值。这是因为FormData对象允许您编译一组要使用XMLHttpRequest发送的键/值对。它主要用于发送表单数据。如果表单的编码类型设置为“multipart / form-data”,则传输的数据格式与表单的submit()方法用于发送数据的格式相同。

如果您尝试使用key/valueformData,那么

var formData = new FormData();
formData.append("phone", "1234567890");
formData.append("phone", "9876543210");
formData.get("phone");

这只会返回该键的第一个phone,在这种情况下,它将返回'1234567890'。这可能在不同的浏览器中表现不同。