Sto provando a creare un modulo dinamico in cui l'utente può aggiungere campi di testo dinamici in base alle proprie esigenze. Ecco il mio codice jQuery ..La funzione di clic del pulsante Jquery() non funziona
$(document).ready(function() {
$("#add").click(function() {
var intId = $("#buildyourform div").length +1;
var fieldWrapper = $("<div class=\"fieldwrapper\" name=\"field" + intId + "\" id=\"field" + intId + "\"/>");
var fName = $("<input type=\"text\" name=\"name\" class=\"fieldname\" id=\"tb"+ intId +"_1\"/>");
var lname = $("<input type=\"text\" name=\"email\" class=\"lastname\" id=\"tb"+ intId +"_2\"/>");
var removeButton = $("<input type=\"button\" class=\"remove\" value=\"-\" />");
var addButton = $("<input type=\"button\" class=\"add\" id=\"add\" value=\"+\" />")
removeButton.click(function() {
$(this).parent().remove();
});
fieldWrapper.append(fName);
fieldWrapper.append(lname);
fieldWrapper.append(removeButton);
fieldWrapper.append(addButton);
$(this).remove();
$("#buildyourform").append(fieldWrapper);
});
});
e Il codice HTML è ...
<fieldset id="buildyourform">
<legend>Build your own form!</legend>
<div class="fieldwrapper" name="field1" id="field1" />
<input type="text" name="name" class="fieldname" id="tb1_1" />
<input type="text" name="email" class="lastname" id="tb1_2" />
<input type="button" value="+" class="add" id="add" />
</div>
</fieldset>
<input type="submit" value="send" id="asdasd" name="submit" />
controllare il mio JSFiddle anche.
Ciò che non va in me è quando l'utente fa clic sul pulsante "+" per la prima volta, quindi fa clic su function working e aggiunge due campi di testo nel mio fieldset. Ma dopo di ciò, quando clicco sul pulsante "+", la sua funzione di clic non attiva. Potrebbe essere un conflitto. Per favore aiuto.
"Potrebbe essere un conflitto." - Hai provato a risolvere il conflitto da solo? –
Stai riutilizzando l'ID "aggiungi" sui tuoi nuovi pulsanti. I valori per gli attributi "id" possono essere utilizzati solo una volta su una pagina. * modifica * oh aspetta, rimuovi il pulsante originale. Bene, allora il problema è :) – Pointy
Ho avuto lo stesso problema ma il mio elemento non è stato generato dinamicamente, era un semplice elemento nella pagina. Credo che sia stato causato da interferenze da parte di Knockout.js. – Sean