Solved

Button click -> add div with text boxes.

Posted on 2013-02-06
5
338 Views
Last Modified: 2013-03-07
Hello,

I would like it so if a click my add button
    <asp:ImageButton id="addButton" src="images/add.PNG" OnClientClick="return false;"  class="addButton" runat="server" />

Open in new window

. It will show the below code
   <label class="alignme"  for="repdist1">Rep1 - </label>
     <label  for="repdist1">Distance:</label>
     <input  onkeypress="return IsNumber(event)" name="repdist1" type="text" id="repsit1" style="width:30px;" />
     <select name="kmormile1" id="kmormile1">
     	<option value="Miles">Miles</option>
        	<option value="Km">Km</option>
            </select>
                       <label for="repmin1">Min:</label>
                     <input onkeypress="return IsNumber(event)" name="repmin1" type="text" value="00" maxlength="2" id="repmin1" style="width:30px;" />
                     
                       <label for="repsec1">Sec:</label>
                     <input onkeypress="return IsNumber(event)" name="repsec1" type="text" value="00" maxlength="2" id="repsec1" style="width:30px;" />
      
       

Open in new window


each time a user clicks the button it adds a new row and if the user clicks the delete button
          <asp:ImageButton id="removeButton" class="removeButton" src="images/close_square.PNG" OnClientClick="return false;"   runat="server" />

Open in new window


it deletes a row.

I can do this in javascript but i would really like to do it in vb.net
0
Comment
Question by:runnerjp2005
  • 2
  • 2
5 Comments
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38858976
I wonder why you do not use a control like a GridView or a Repeater instead of adding/deleting rows of textboxes. In this case, you can use a repeater bound to a datatable and add/delete rows in datatable and repeater would automatically show new rows.
0
 

Author Comment

by:runnerjp2005
ID: 38858987
Its because its a form to fill in.
Basically its a training log and this has several fields.
I have a requirement where i have a rep field where a person could enter multiple reps e.g

rep1
rep2
rep3

so the button allows the user to enter more reps if need be.
0
 

Author Comment

by:runnerjp2005
ID: 38859008
0
 
LVL 83

Expert Comment

by:CodeCruiser
ID: 38859031
0
 
LVL 23

Accepted Solution

by:
Roopesh Reddy earned 500 total points
ID: 38859039
Hi,

Check the below code -
<div runat="server" id="container">
        
    </div>

    <asp:Button ID="btnAdd" Text="Add Row" runat="server" OnClick="RowHandler" />
    <asp:Button ID="btnDelete" Text="Delete Row" runat="server" OnClick="RowHandler" />


Protected Sub RowHandler(sender As Object, e As EventArgs)
	Dim b As Button = TryCast(sender, Button)
	Dim lControls As New List(Of Control)()

	If b.ID = "btnAdd" Then
		If Session("controls") IsNot Nothing Then
			lControls = TryCast(Session("controls"), List(Of Control))
			For Each ctrl As Control In lControls
				container.Controls.Add(ctrl)
			Next

			Dim text As New TextBox()
			container.Controls.Add(text)
			lControls.Add(text)
			Session("controls") = lControls
		Else
			Dim text As New TextBox()
			container.Controls.Add(text)
			lControls.Add(text)
			Session("controls") = lControls
		End If
	End If
	'end:btnAdd if
	If b.ID = "btnDelete" Then
		If Session("controls") IsNot Nothing Then
			lControls = TryCast(Session("controls"), List(Of Control))

			If lControls.Count > 0 Then
				Dim ctrl As Control = TryCast(lControls(lControls.Count - 1), Control)
				container.Controls.Remove(ctrl)
				lControls.Remove(ctrl)
				Session("controls") = lControls

				For Each ctrls As Control In lControls
					container.Controls.Add(ctrls)
				Next

			End If

		End If
	End If
	'end:btnDelete if
End Sub

Open in new window


It's the sample code, to give you an idea to design it according to your need!

I basically wrote in C# and i converted it to VB. I think event handling is different in VB, but the logic inside the handler is same :)

Hope it helps u...
0

Featured Post

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Today I had a very interesting conundrum that had to get solved quickly. Needless to say, it wasn't resolved quickly because when we needed it we were very rushed, but as soon as the conference call was over and I took a step back I saw the correct …
Real-time is more about the business, not the technology. In day-to-day life, to make real-time decisions like buying or investing, business needs the latest information(e.g. Gold Rate/Stock Rate). Unlike traditional days, you need not wait for a fe…
Two types of users will appreciate AOMEI Backupper Pro: 1 - Those with PCIe drives (and haven't found cloning software that works on them). 2 - Those who want a fast clone of their boot drive (no re-boots needed) and it can clone your drive wh…
This video shows how to use Hyena, from SystemTools Software, to bulk import 100 user accounts from an external text file. View in 1080p for best video quality.

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question