ajax提交div内所有带NAME属性得表单

以下例子比较简单,获取的是biaodan元素下得input内得值,但是我有的时候会给input价格di外框,这样的话他就获取不到input内容了
有的input加DID 有的不加DIV
如:


<form name="biaodan">
<div class="yyui_tab_card">
    姓名:<input type="text" id="xingming" name="xingming"/><br/>
</div>
    品牌:<input type="text" name="pinpai"/><br/>
    订单:<input type="text" name="dingdan"/><br/>
    邮箱:<input type="text" name="youxiang"/><br/>
    <input type="button" value="提交表单" onClick="saveUserInfo()">
</form>

如果姓名加了DIN提交就没有这个数据,所以说有什么办法取div下所有带NAME属性得元素值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
</head>
<body>
<form name="biaodan">
    姓名:<input type="text" id="xingming" name="xingming"/><br/>
    品牌:<input type="text" name="pinpai"/><br/>
    订单:<input type="text" name="dingdan"/><br/>
    邮箱:<input type="text" name="youxiang"/><br/>
    <input type="button" value="提交表单" onClick="saveUserInfo()">
</form>
<script>
    function saveUserInfo() {
        var data = {};
        $('[name="biaodan"]>input').not('[type="button"]').each(function (i, v) {
            data[$(v).attr('name')] = $(v).val();
        });
        var url = './ajax_so.php';
        $.ajax({
            url: url,
            type: "post",
            data: data,
            dataType: "json",
            success: function (result) {
                console.log(result);
            }
        });
    }
</script>
</body>
</html>
 


试着表单序列化传值