Загружать Формуляр каждый раз, когда я верю в элемент

Хорошие, вопрос - следующий. У меня есть маленький Формуляр, который является только Генератором Формуляра, каждый раз, когда я выбираю компонент и это верю, что этот показывает меня ему в другом DIV, в этот формуляр предоставляет собственную идентификацию random, но когда я хочу создать другой элемент, этот элемент распределяется той же идентификацией, что и предыдущий элемент.

Мой вопрос, - если бы они могли помогать мне.

1) Поскольку я делаю для того, чтобы в момент создания другого элемента, он присоединился с другой идентификацией.

Я попытался с функцией Jquery .load, но по какому-то разуму каждый раз, когда он освежает мой form, этот теряет вся Вашу функциональность Javascript, которая позволяет ему создавать элементы, санкционировать и вручать идентификацию.

Какой-то способ мочь решать это? Спасибо заранее.

Здесь Код.

Функция Кнопки, наполнив Формуляр:

/*botón de añadir*/
$("#btn_add").on("click",function(){
    var f = $("#miCampo");
    f.append("<div class='field'><label>"+$("#nom_camp").val()+": <input placeholder='"+$("#plch").val()+"' type='"+$('#select_opc').val()+"' name='"+(galpha+"_"+$("#nom_camp").val())+"' id='"+(galpha+"_"+$("#nom_camp").val())+"' class='"+(galpha+"_"+$("#nom_camp").val())+"'></label></div>");
    plch.prop('disabled', true);
    nc.prop('disabled', true);
    nc.val("");
    plch.val("");
    $("#nom_camp").val("");
    $("#id_id").text("");
    $("#id_name").text("");
    $("#id_class").text("");
            $("#form_refresh").load(location.href + " #form"
            });
})

Функция, которая производит случайную идентификацию

/*función que genera una letra y numero de forma aleatoria*/
function generarAlphanumerico(r)
{
var arreglo = new Array();
var r = Math.floor(Math.random()*100) +1;
for(var i=65; i<=90; i++)
    {arreglo[i] = String.fromCharCode(i);}

return arreglo[Math.floor(Math.random() * (arreglo.length-65)+65)]+''+r;

}

Формуляр:

<!--Área de trabajo -->
                <div class="ui stripe community vertical segment">
                    <div class="ui two column center divided very relaxed stackable grid container">
                        <div class="row">
                            <div class="column">

                            <!-- área donde se visualizará el formulario -->
                            <form class="ui form">
                                <h4>Mi formulario</h4>
                                <div id="miCampo"></div>
                                <input type="button" value="Enviar" class="ui button" id="btn_submit_generado">
                            </form>

                            </div>

                            <div class="column" id="form_refresh">
                                <form action="" class="ui form" id="form">
                                <h4 class="ui dividing header">
                                    Seleccionar
                                </h4>
                                <div class="field">
                                    <label>Tipo de campo:</label>
                                    <select class="ui fluid dropdown" id="select_opc">
                                        <option value="0">Seleccionar</option>
                                        <option value="label">Etiqueta</option>
                                        <option value="text">Caja de texto</option>
                                        <option value="textarea">Cuadro de texto</option>
                                        <option value="checkbox">Casilla de verificaci&oacute;n</option>
                                        <option value="radio">Bot&oacute;n de radio</option>
                                        <option value="select">Desplegable</option>
                                        <option value="date">Fecha</option>
                                        <option value="number">Número</option>
                                    </select>
                                </div>
                                <div class="field">
                                    <label>Nombre del campo</label>
                                    <input type="text" id="nom_camp">
                                </div>
                                <div class="field">
                                    <label>id: <span id="id_id"></span></label>
                                </div>
                                <div class="field">
                                    <label>Name: <span id="id_name"></span></label>
                                </div>
                                <div class="field">
                                    <label>Class: <span id="id_class"></span></label>
                                </div>
                                <div class="field">
                                    <label>Placeholder:</label>
                                    <input type="text" id="plch">
                                </div>
                                <div class="ui green vertical animated button" id="btn_add" style="float:right;">
                                    <div class="hidden content">Add</div>
                                    <div class="visible content">
                                        <i class="add icon"></i>
                                    </div>
                                </div>
                                </form>
                            </div>
                        </div>
                    </div>
                </div>
0
задан 10.10.2016, 16:23
3 ответа

Я хочу предложить решение, что я достиг страховки кого-то больше, он подаст его. Правда я начал думать о том, чтобы освежить много (refresh) DIV, и совсем не с другим решением.

Но смоги с функцией решить все. Перемещая его функцию из-за jquery, для того, чтобы поле выполняло снова функцию, которая производила идентификацию.

/************************************************
GENERAR ID ALEATORIO AL HACER CLICK O TAB(FOCUS)
************************************************/
$("#nom_camp").on("click focus", function(){
    galpha = generarAlphanumerico();
    $("#nom_camp").off("click focus");
    console.log("El ID es: "+galpha);
});
0
ответ дан 24.11.2019, 13:09

Привет, я считаю, что это другое возможное решение, и скорее всего подает его в кому-то:

<script>
    var contador = 1;

/*botón de añadir*/
$("#btn_add").on("click",function(){
    var f = $("#miCampo");
    galpha = 'campoAdicional_'+contador;
    contador = contador+1;
......
</script>

Идея состоит в том, чтобы иметь глобальную переменную с начальной числовой стоимостью, которая будет стоить нам суффиксом для того, чтобы назвать id's, которые будут присоединяться. Каждый раз, когда кликнули, чтобы добавлять, формируется id, с префиксом (campoAdicional _), и стоимостью глобальной переменной. Следующий за этим, добавляется один (1) под глобальную переменную; таким образом, когда добавят новый элемент, у этого будет один пойдите различно в предыдущего.

Я надеюсь, что кто-то может находить что-то полезным в этом решении.

1
ответ дан 24.11.2019, 13:09
  • 1
    Хороший ответ, я рекомендую прекращать использовать generarAlphanumerico (r), потому что его слишком много и ты больше f и # 225; cil счетчик 1 +, привет –  Shortys Oberto Dutari 12.10.2016, 18:58
  • 2
    Спасибо @chenio очень хорошее предложение, поскольку я имею обязательным условием перемещать Префикс alfanum и # 233; богатый я выполняю generarAlphanumerico (). (Который ты имеешь в виду из-за слишком много? Shortys). –  KuraiDark23 14.10.2016, 02:27

Когда то, что я хочу, состоит в том, чтобы создавать новые элементы, но с id различный я использую функцию jQuery клонируйте (). Таким образом я могу клонировать уже существующие и видимые элементы или создавать "шаблоны", которые нужно копировать (ты скрываешь с display: none или сходный), что так легко editables (в существо HTML/CSS и он не исходит из Javascript). Базовый код - следующий:

$(template_id).clone(true).appendTo($(template_id).parent()).attr('id', nuevo_id);

Ощутись, что я добавляю копию к тому же месту, в котором находится оригинал, но ты можешь добавлять это, где ты хотел меняя параметр .appendTo ().

Переменные:

- template_id: el identificador de lo que quiero clonar (y aquí tb a donde se copia).
- nuevo_id: el nuevo id que le quiero dar a la copia.

К той же линии jQuery ты можешь добавлять его например .addClass('_bloque_clonado_'), .fadeIn('fast'), и т.д., и т.д.... прямо, чтобы приспосабливать так clonador к каждой необходимости.

В общем я думаю, что он достаточно настраиваемый и простой одновременно. Я надеюсь, что он вы полезный.

0
ответ дан 24.11.2019, 13:09
  • 1
    Спасибо за Дарио имеет твою идею и знания. –  KuraiDark23 14.10.2016, 02:28
  • 2
    #161; Удовольствие! Благодаря t и # 237; из-за того, что инициализирует этот вопрос. –  Darío Pm 14.10.2016, 14:44

Теги

Похожие вопросы