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, время: 19:52. |