dev.net.ua

Українська Спільнота Розробникiв
 
Ласкаво просимо до dev.net.ua Увійти | Приєднатися | Допомога | Увійти Live ID
в Пошук

Как можно посчитать кол-во TextBox?

Останнє повідомлення 03-05-2007, 7:38 від Rebel. 9 відповіді.
Сортувати: Попереднє Наступне
  •  27-03-2007, 5:46 2784

    Как можно посчитать кол-во TextBox?

    Всем привет!


    Есть такой вопрос, как мне можно пересчитать кол-во созданных TextBox? Для создания неограниченного кол-ва TextBox - я использую JS-скрипт, который написан ниже. Я понимаю, что это можно сделать при помощи цикла.
    Ведь вся соль в том, что я не могу назначить новый ID TextBox, когда JS-скрипт создает по аналогии такой же TextBox.

    <input disabled='disabled' type='button' name='drop_soft' value=' &#8722; ' onblur='' onclick='dropFile_soft(this);'  /><input type='button' value=' + ' onclick='addFile_soft(this);' />

    Приведите пожалуйста пример!

    Заранее спасибо!

    Реальность существует для людей, у которых отсутствует воображение.
  •  27-03-2007, 13:41 2787 у відповідь на 2784

    Re: Как можно посчитать кол-во TextBox?

    JS ты таки  забыл привести :)
    А document.getElementsByTagName тебе не поможет?
  •  27-03-2007, 23:26 2788 у відповідь на 2787

    Re: Как можно посчитать кол-во TextBox?

    Привет!

    Дело не в JS, так как скрипт выполняет свою функцию, то есть просто создает новые поля при нажатии на кнопку плюс и удаляет при нажатии на минус.

    У меня вопрос заключается в том, как мне правильно посчитать кол-во созданных полей на С#?

    Для передачи параметров в процедуру для добавления новой записи, я использую:

     SetCommand.Parameters["@srv"].Value = SrvTextBox.Text;
     SetCommand.Parameters["@ip1"].Value = IP1TextBox.Text;
    // И так далее....



    Как мне организовать цикл, который будет считать кол-во созданных TextBox?

    Я этого понять не могу, так как насколько я понимаю, при создании TextBox при помощи JS - у них создается такой же ID, как и у родительского TextBox.

    Заранее спасибо!

    Реальность существует для людей, у которых отсутствует воображение.
  •  28-03-2007, 0:48 2789 у відповідь на 2788

    Re: Как можно посчитать кол-во TextBox?

    При создании контрола при помощи JavaScript создаются обычные html теги , которые полностью работают и обрабатываются на клиенте. Таким образом с серверного кода (c#) ты к ним никак не доберёшся. Надо или обрабатывать их с помощью скриптов или создавать контролы в коде на сервере.
  •  28-03-2007, 1:27 2790 у відповідь на 2788

    Re: Как можно посчитать кол-во TextBox?

    Нужно получить данные из TextBox'ов (точнее input'ов), которые созданны на клиенте, при обращении к серверу? Если да, то можно пройтись по колекции Request.Params в ней должны быть такие данные
  •  28-03-2007, 1:42 2791 у відповідь на 2790

    Re: Как можно посчитать кол-во TextBox?

    Вариант добавлять твой <input type="text"/> в <div runat="server" id="divTextBoxes">...</div>

    На сервере делай типа так:



    foreach (Control control in divTextBoxes.Controls)
      {
       LiteralControl literalControl = control as LiteralControl;
       if ((literalControl != null) &&
        (literalControl.Text.Trim() != String.Empty))
       {

          // обрабатывай строку literalControl.Text. Можно регэкспом или String.IndexOf
        }
      }

  •  28-03-2007, 4:43 2792 у відповідь на 2784

    Re: Как можно посчитать кол-во TextBox?

    Когда что-то подобное делал :)
    Я добавлял на страницу hidden поле и в нем хранил количество.
  •  02-04-2007, 4:45 2816 у відповідь на 2792

    Re: Как можно посчитать кол-во TextBox?

    Ребята, что-то я ничего не пойму?

    Как это реализовать?

    Смотрите, у меня имеется:

    <tr>
                                    <td colspan="1" rowspan="1" style="width: 138px; color: #7a7a7a; height: 27px">
                                        </td ID="ProgrLbl" runat="server" Text="ПО:*">
                                    <td colspan="1" rowspan="1" style="width: 138px; color: #7a7a7a; height: 27px" align="left">
                                        </asp:TextBox ID="ProgrTextBox" runat="server" CausesValidation="True" CssClass="addserverform"
                                            Width="101px">
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator24" runat="server" ControlToValidate="ProgrTextBox"
                                            ForeColor="#CC0066">*</td>
                                    <td colspan="1" rowspan="1" style="width: 138px; color: #7a7a7a; height: 27px" align="right">
                                        </asp:Label ID="SoftownerLbl" runat="server" Text="Ответственный:*">
                                        &nbsp; &nbsp; &nbsp; &nbsp;</td>
                                    <td colspan="1" rowspan="1" style="width: 138px; color: #7a7a7a; height: 27px" align="left">
                                        </asp:TextBox ID="SoftownerTextBox" runat="server" CausesValidation="True" CssClass="addserverform"
                                            Width="101px">
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator25" runat="server" ControlToValidate="SoftownerTextBox"
                                            ForeColor="#CC0066">*</td>
                                    <td colspan="1" rowspan="1" style="width: 100px; color: #7a7a7a; height: 27px" align="right">
                                        </td ID="SoftdateLbl" runat="server" Text="Дата установки:*">
                                    <td colspan="1" rowspan="1" style="width: 138px; color: #7a7a7a; height: 27px" align="left">
                                        </asp:TextBox ID="SoftdateTextBox" runat="server" CssClass="addserverform"
                                            Width="66px" MaxLength="10">
                                        дд.мм.гггг</td>
                                    <td colspan="4" rowspan="1" style="width: 138px; color: #7a7a7a; height: 27px" align="left">
                                        &nbsp;<input disabled='disabled' type='button' name='drop_soft' value=' &#8722; ' onblur='' onclick='dropFile_soft(this);' class="addserverform" size="5" type='button' value=' + ' onclick='addFile_soft(this);' class="addserverform" size="5" />
                                        <asp:RequiredFieldValidator ID="RequiredFieldValidator29" runat="server" ControlToValidate="SoftdateTextBox"
                                            ForeColor="#CC0066">*</td>
                                </tr>


    Как видно скрипт, просто дублирует то, что находится в тегах: <tr>.........</tr>

    Так вот при такой работе скрипта, дублируется и ID первого TextBox в последующие созданные TextBox.

    Как мне:

    - во-первых сделать так, чтобы ID - у всех TextBox были разными;
    - во-вторых, как посчитать и передать все значения созданных клиентом?

    P.S. В PHP я просто использовал массив в имени. Как здесь?

    Реальность существует для людей, у которых отсутствует воображение.
  •  03-04-2007, 5:15 2834 у відповідь на 2816

    Re: Как можно посчитать кол-во TextBox?

    Кто-нибудь может мне помочь?

    Реальность существует для людей, у которых отсутствует воображение.
  •  03-05-2007, 7:38 2971 у відповідь на 2834

    Re: Как можно посчитать кол-во TextBox?

    Можно ли в данном случае избежать создания TextBox JS-скриптом и создать их с помощью кода на сервере?
Переглядати як новосний Блог RSS в XML