Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Ограничение полей (https://javascript.ru/forum/misc/11725-ogranichenie-polejj.html)

m00nster 09.09.2010 21:46

Ограничение полей
 
Добрый день, есть Java скрипт на "динамический" вывод поля(формы)

Надо чтоб было ограничение не больше 10 полей к примеру...

с переменной:
Код:

if (item==10) return false; else item++;
Поле добавляется один раз.

Куда только не вставлял данную переменную,результата ноль. Вот сам код:



Код:

<SCRIPT LANGUAGE="javascript">
<!--
var i = 1;
var value = '';

function addField(){

var valuesA = new Array();
for(k=1; k<=i;k++){
if(document.getElementById('alt_tags_' + k )){
valuesA[k] = document.getElementById('alt_tags_' + k ).value;
}
}
i++;

document.getElementById('div').innerHTML += '<div id="alt' + i + '"><BR><input id="alt_tags_' + i + '" type="text" name="alt_tags[' + i + ']" value=""/><input type="button" name="but" value="Delete" onclick="delField(' + i + ')"></DIV>';

for(k=1; k<i;k++){
if(document.getElementById('alt_tags_' + k )){
document.getElementById('alt_tags_' + k ).value = valuesA[k];
}
}

}

function delField(AltId){
var s = 'alt' + AltId;
objText = document.getElementById(s);
this.objText.innerHTML = "";
item--;
}
//-->
</SCRIPT>


<table width="700" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>Add Field</td>
</tr>
<tr>
<td valign=top>
<div id="div">
<DIV id="alt0"><BR><input type="text" id="alt_tags_0"
name="alt_tags[0]" class="form250" value="">
<input type="button" name="but"
value="Delete" onclick="delField('0')"></DIV>
</div>
</td>
</tr>
<tr>
<td>
<input type="button" class="form_button_100"
value="Add Field" onclick="addField()" />
</td>
</tr>
</table>


рони 10.09.2010 09:00

может такой вариант устроит ? )))
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>Add Field</title>
<style type="text/css">
.form250{
  background-color: #EEE8AA;
}
.form2010{
  background-color: #FFA500;
}
</style>
<script language="JavaScript" type="text/javascript">
function createEl(a, b) {
    a = document.createElement(a);
    for (var c in b) a[c] = b[c];
    return a
};
function create_remove_block(a) {
    var limit = 5;
    if (!this.i) n = i = 0;
    if (a && document.getElementById(a)) {
        document.getElementById("div").removeChild(document.getElementById(a));
        i--
    } else if (i < limit) {
        a = createEl("div", {
            id: "alt" + n
        });
        var b = createEl("input", {
            id: "alt_tags_" + n,
            value: "alt_tags_" + n,
            className: "form250"
                  });
        a.appendChild(b);
        b = createEl("input", {
            type: "button",
            value: "Delete",
            className: "form2010",
            onclick: function (c) {
                return function () {
                    create_remove_block("alt" + c)
                }
            }(n)
        });
        a.appendChild(b);
        document.getElementById("div").appendChild(a);
        i++;
        n++
    }

};
window.onload = function(){
create_remove_block();
}
</script>
</head>
<body>
<h4>Add Field 5</h4>
<div id="div"></div>
<input type="button"  class="form_button_100" value="Add Field" onclick="create_remove_block()" />
</body>
</html>

m00nster 12.09.2010 01:09

Спасибо,данный скрипт помог.
Вот как сделать,чтоб добавлялись поля xfield[dwaw_n],
где "n" - номер поля(id).

рони 12.09.2010 02:14

m00nster,
моя твоя не понимай )))) попробуй подробнее сформулировать вопрос

m00nster 12.09.2010 11:14

рони,
при нажатии на кнопку "Add Field", добавляются поля alt_tags_0,alt_tags_1, ...alt_tags_4.

А нужно: xfield[dwaw_0],xfield[dwaw_1]...xfield[dwaw_4].
Чтоб ID поля был в квадратных скобках, через "_", с любым текстом справа.

Можно ваш номер ICQ в личку,там это будет легче объяснить.


вот пример:

было:
id="xfield_0"
стало:
id="xfield[dwaw_0]"


Нужно вот этот 0(id поля) занести за квадратную скобку.


Часовой пояс GMT +3, время: 02:48.