EDIT 001:Динамически добавить выпадающие и выпадающие поля
добавил: - event.preventDefault();
и якоря вместо кнопки
<div class="edit-area">
<div class="controls">
<a href="#" class="add">+</a>
<a href="#" class="rem">-</a>
</div>
</div>
Теперь страница +
или -
не сделать страницу отправить форму, но теперь он ничего не делает: s
Я работаю над контактной формой, но у меня есть несколько проблем/вопросов.
- Я хочу, чтобы динамически добавлять поля, когда они нажимают кнопку (+)
- и, конечно, они должны быть в состоянии удалить это, когда это необходимо ... (-)
Когда я нажмите кнопку + теперь он пытается действовать, как кнопки отправки и отправляет форму ...
Script
<script>
(function($) {
"use strict";
var itemTemplate = $('.example-template').detach(),
editArea = $('.edit-area'),
itemNumber = 1;
$(document).on('click', '.edit-area .add', function(event) {
var item = itemTemplate.clone();
item.find('[project]').attr('project', function() {
return $(this).attr('project') + '_' + itemNumber;
});
++itemNumber;
item.appendTo(editArea);
});
$(document).on('click', '.edit-area .rem', function(event) {
editArea.children('.example-template').last().remove();
});
$(document).on('click', '.edit-area .del', function(event) {
var target = $(event.target),
row = target.closest('.example-template');
row.remove();
});
}(jQuery));
</script>
HTML
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method="POST" name="contact">
<div class="row uniform 50%">
<div class="6u 12u(mobilep)">
Your personal card number
<input type="text" name="card2" id="card" value="<?php echo $_SESSION['username']; ?>" placeholder="Card Number" readonly/>
</div>
<div class="6u 12u(mobilep)">
Your name
<input type="text" name="name2" id="name" value="<?php echo $_SESSION['realName']; ?>" placeholder="Your name" readonly/>
</div>
</div>
<div class="row uniform 50%">
<div class="6u 12u(narrower)">
Order tickets for a project.
</div>
</div>
<div class="example-template">
<div class="row uniform 50%" id="readroot">
<div class="4u 12u(narrower)">
<select name="project" id="ddl" onchange="configureDropDownLists(this,document.getElementById('ddl2'))">
<option disabled selected>Select a project</option>
<option value="Smile">Project Smile</option>
<option value="Sand">Project Sand</option>
<option value="Schmuck">Project Schmuck</option>
</select>
</div>
<div class="4u 12u(narrower)">
<select id="ddl2" name="date">
<option disabled selected>Select a date</option>
</select>
</div>
<div class="2u 12u(narrower)">
<input type="text" onkeypress='return event.charCode >= 48 && event.charCode <= 57' name="amount" id="currentamount" value="" placeholder="Amount" />
</div>
</div>
<div class="edit-area">
<div class="controls">
<button class="add">+</button>
<button class="rem">-</button>
</div>
</div>
<div class="row uniform 50%">
<div class="6u 12u(mobilep)">
<input type="hidden" id="currentprice" value="10" />
</div>
</div>
<div class="6u 12u(mobilep)">
<input type="hidden" id="nextprice1" value="10" placeholder="" />
</div>
</div>
<div class="row uniform">
<div class="12u">
</div>
</div>
<div class="4u 12u(mobilep)">
Total price.(In EUR)
<input type="text" name="total2" id="total" value="" readonly/>
</div>
<div class="row uniform">
<div class="12u">
<ul class="actions align-center">
<li><input type="submit" name="submit"value="Place Order"/></li>
</ul>
</div>
</div>
</form>
Изображение вида (идентификатор и имя не показаны)
Если добавить ' event.preventDefault() 'не имеет значения, является ли это кнопкой или якорем. Но если какой-либо скрипт ошибочен на странице (и он перестает рендеринг JS, тогда привязка лучше, так как тогда он случайно не отправит форму). –
Форма не отправляется сейчас, но я также не получаю никаких дополнительных полей: p –
Попробуйте выполнить некоторые инструкции 'console.log' в своем фрагменте для добавления кода, чтобы убедиться, что ваши селекторы соответствуют тому, что, по вашему мнению, нужно , –