2016-06-21 4 views
-3

Я пытаюсь сделать динамическую форму с помощью HTML и CSS. Я добавляю часть своего кода ниже. Я не могу понять, почему код не работает.Динамическая форма с использованием HTML и JQuery

JavaScript:

<script> 
$(document).ready(function(e) { 
    var labelfiled = '<div><label>Label</label><input type="text" name="label[]"></div>'; 
    var valuefiled = '<div><label>Value</label><input type="text" name="value[]"></div>'; 
    var labdiv = $(".labdiv"); 
    var valdiv = $(".valdiv"); 
    var addbutton = $(".add_more"); 
    $(addbutton).click(function(){ 
      $(labdiv).append(labelfiled); 
      $(valdiv).append(valuefield); 
    }); 
</script> 

HTML:

<form> 
<div class="col-md-6 labdiv"> 
<div><label>Label</label> 
<input type="text" name="label[]"> 
</div> 
</div> 
<div class="col-md-5 valdiv"> 
<div> 
<label>Value</label> 
<input type="text" name="value[]"> 
</div> 
</div> 
<button class="add_more">Add values</button> 
</form> 

Если кто-то может помочь было бы здорово.

Я также хотел бы знать, как я могу обрабатывать данные, когда я отправляю это в переменную javascript из массива. Например, если у меня есть 2 входа для значения в from, я хочу сохранить их в массиве javascript, а затем преобразовать в JSON.

+2

Вы получаете какие-либо ошибки в консоли? Вам не хватает '});' в конце вашего тега скрипта, чтобы закрыть вызов '$ (document) .ready()'. – lexith

+1

Чтобы добавить комментарий к лекситу: * это *, почему код-отступы - прекрасная вещь. –

+0

@lexith привет, я новичок в веб-разработке, и я не знаю, где я могу видеть консоль. p.s Я использую adwe dreamweaver для этого. – checkerchief

ответ

0

Форма должна быть в методе = "POST", и если вы влезть в функции PHP:

if(!empty($_POST) && isset($_POST){ /*try something with $_POST*/ } 
0

Попробуйте

$(".add_more").click(function() { 
        var postData = { 
         field1: $("#id_field1").val(), 
         field2: $("#id_field2").val() 
        }; 

    $.ajax({ 
      dataType: "json", 
      data:JSON.stringify(postData), 
      url: URL, 
      method: 'POST' 
     }); 

});

0

Несколько вещей, которые могут улучшить ваше обучение:

JQuery и вам код

Весь код JQuery должен быть обернут в этом ...

$(document).ready(function() { 
    // jQuery 
}); 

На var, которые вы создали, вы уже инициализировали их как элементы jQuery. Поэтому, когда вы ссылаетесь на них снова, вам не нужно (например) $ (addbutton) as addbutton. См исправленный код ниже)

<script> 
    $(document).ready(function(e) { 
     var labelfiled = '<div><label>Label</label><input type="text" name="label[]"></div>'; 
     var valuefiled = '<div><label>Value</label><input type="text" name="value[]"></div>'; 
     var labdiv = $(".labdiv"); 
     var valdiv = $(".valdiv"); 
     var addbutton = $(".add_more"); 
     addbutton.click(function(){ 
      labdiv.append(labelfiled); 
      valdiv.append(valuefield); 
     }); 
    }); 
</script> 

Консоль

При проверке консоли ...

Скажем, например, если вы пишете код JS console.log(1 + 1) на вашей странице, где вы хотите увидеть эту сумму. Из-за того, что вы написали код на стороне клиента, когда ваша веб-страница загружается (и в зависимости от того, где вы положили console.log()), если вы проверите инструменты разработчика в выбранном вами браузере, то есть Chrome или IE, есть раздел console, где вы можете увидеть результат того, что вы напечатали (т. е. используя этот пример, это будет 2). В этом console в браузере также будут отображаться ошибки, которые он обнаруживает (например, $ is not defined - если вы пытаетесь ссылаться на jQuery, но библиотека не включена), это хороший инструмент для веб-разработчиков (отсюда и имя;)) для отладки клиента боковой код.

Добавление элементов в массив

кодекса для получения input ценности представить в виде: (JQuery)

var array = []; 
$("form").on("submit", function() { 
    $("input").each(function() { 
     array.push($(this).val(); 
    }); 
}); 

Я хотел бы предложить, что вы идете и прочитайте книгу/учебник по коду jQuery, а также основные понятия веб-разработки :)

Примеры:

Для справки к основам, если вы застряли, выше ссылка является более надежным: - w3schools

+0

Рассмотрите возможность удаления ссылок на w3schools, так как это ничего официально и, безусловно, самая худшая страница, подобная документации. Зачем? Потому что: http://meta.stackoverflow.com/questions/280478/why-not-w3schools-com – lexith

+0

В этом сообщении упоминается, что w3schools улучшились за последний год или около того. Я не предлагаю OP использовать сайт религиозно. Я просто предлагаю сайт для ссылки на основы. Я считаю, что OP найдет части сайта полезными, поскольку они новичок – wmash

+0

Я отредактировал свой ответ, чтобы добавить дополнительные рассуждения по ссылкам – wmash

 Смежные вопросы

  • Нет связанных вопросов^_^