Dilettante_Pro,
У меня в верстке: <form> <div> <div> <input type="text" class="function1" name="Диаметр" value="1"> <input type="text" class="function2" name="Масса" value="2"> <input type="text" class="function3" name="Размер" value="3"> <input type="text" class="function4" name="Материал" value="4"> <input type="text" class="function5" name="Цвет" value="5"> </div> </div> </form> В итоге приходит только первый инпут без name. Форму в форме делать нельзя, сверстать иначе тоже. :( |
Sylar V,
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function () { var a = {}; $("form").serializeArray().map(function (x) { a[x.name] = x.value; }); alert(JSON.stringify(a)) }); </script> </head> <body> <form> <div> <div> <input type="text" class="function1" name="Диаметр" value="1"> <input type="text" class="function2" name="Масса" value="2"> <input type="text" class="function3" name="Размер" value="3"> <input type="text" class="function4" name="Материал" value="4"> <input type="text" class="function5" name="Цвет" value="5"> </div> </div> </form> </body> </html> |
<!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function () { var a = {}; $("form").serializeArray().map(function (x) { a[x.name] = x.value; }); alert(JSON.stringify(a)) }); </script> </head> <body> <form> <div> <div> <input type="text" class="diametr" name="Диаметр" value="123"> <input type="text" class="massa" name="Масса" value="123"> <input type="text" class="razmer" name="Размер" value="123"> <input type="text" class="material" name="Материал" value="123"> <input type="text" class="cvet" name="Цвет" value="123"> </div> </div> </form> </body> </html> Вставил в JS: var a = {}; $("form").serializeArray().map(function (x) { a[x.name] = x.value; }); $.ajax({ type: 'POST', url: '/order.php?t=' + new Date().getTime(), dataType: 'json', data: { TOVAR: a }); В CRM приходит только диаметр, без name. Понимаю, что тут работает. На почту зато приходят все данные, тоже без name. Уже не знаю, что делать. |
Dilettante_Pro,
Код работает. Данные теряются у меня. Нельзя ли сделать form индивидуальной? А то у меня в коде таких конструкций много. Странно то, что вот этот код работает без проблем: <!DOCTYPE html> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.0/jquery.min.js"></script> <script> $(function() { var a = ["Диаметр","Масса","Размер"].reduce(function(b, a, c) { b[a] = document.querySelector([".diametr",".massa",".razmer"][c]).value; return b }, {}); alert(JSON.stringify(a)) }) </script> </head> <body> <input type="text" class="diametr" value="1"> <input type="text" class="massa" value="2"> <input type="text" class="razmer" value="3"> </body> </html> Может как-то можно его увеличить еще на два значения? |
Часовой пояс GMT +3, время: 22:50. |