I have write javascript to create form field when button is click.

function addEvent(myTable){
var lastRow = myTable.rows.length;
var x1=myTable.insertRow(lastRow);
var a=x1.insertCell(0);
var a1=x1.insertCell(1);
var x2=myTable.insertRow(lastRow+1);
var b=x2.insertCell(0);
var b1=x2.insertCell(1);
var x3=myTable.insertRow(lastRow+2);
var c=x3.insertCell(0);
var c1=x3.insertCell(1);
var x4=myTable.insertRow(lastRow+3);
var d=x4.insertCell(0);
var d1=x4.insertCell(1);
var x5=myTable.insertRow(lastRow+4);
var e=x5.insertCell(0);
var e1=x5.insertCell(1);
var x6=myTable.insertRow(lastRow+5);
var f=x6.insertCell(0);
var f1=x6.insertCell(1);
var x7=myTable.insertRow(lastRow+6);
var g=x7.insertCell(0);
var g1=x7.insertCell(1);
var x8=myTable.insertRow(lastRow+7);
var h=x8.insertCell(0);
var h1=x8.insertCell(1);
a.innerHTML="Event Date";
a1.innerHTML='<input type="text">' + "Pick-Up Time" + '<input type="text">';
b.innerHTML="Event Date End";
b1.innerHTML='<input type="text">' + "Drop-Off Time" + '<input type="text">';
c.innerHTML="Coach";
c1.innerHTML="<select size=1 name='Loc' id='Loc'><option selected>Select a Location<option value=1>North East<option value=2>Soth America<option value=3>Canada</select>";
d.innerHTML="Driver";
d1.innerHTML="<select size=1 name='Loc' id='Loc'><option selected>Select a Location<option value=1>North East<option value=2>Soth America<option value=3>Canada</select>";
e.innerHTML="Origination";
e1.innerHTML='<input type="text">';
f.innerHTML="Destination";
f1.innerHTML='<input type="text">';
g.innerHTML="Itinerary";
g1.innerHTML='<input type="textarea">';
h.innerHTML="Pax";
h1.innerHTML='<input type="text">';
}

Then I want to insert value that user type in in database by using cfinsert. This javascript function can be called multiple time. How do i use cfloop and cfinsert to access database in this case.
I already have the submit button to submit form at some point, but I dont know how to loop cfinsert to insert value in database.
Please help. Thanks

Dani AI

Generated

Building on 's question and the pointers from and , the simplest reliable pattern is: give every dynamic input a predictable name (an index suffix or a repeated name), keep a hidden counter of how many event groups were added, and on submit iterate those groups server‑side. This avoids guessing which fields exist and makes inserts deterministic.

A compact ColdFusion server pattern (assumes inputs named like eventDate_1, pickUp_1, etc., and a hidden eventCount) — validate each group, use cfqueryparam, and wrap in a transaction so either all rows insert or none do:

<cfif structKeyExists(form,'eventCount') and val(form.eventCount) GT 0>
  <cftransaction>
  <cfloop index="i" from="1" to="#val(form.eventCount)#">
    <cfset d = trim(form['eventDate_' & i] & '')>
    <cfif len(d)>
      <cfquery datasource="YourDSN">
        INSERT INTO Events (event_date, pickup_time, origin, destination, pax, itinerary)
        VALUES (
          <cfqueryparam value="#d#" cfsqltype="cf_sql_varchar">,
          <cfqueryparam value="#form['pickUp_' & i]#" cfsqltype="cf_sql_varchar">,
          <cfqueryparam value="#form['orig_' & i]#" cfsqltype="cf_sql_varchar">,
          <cfqueryparam value="#form['dest_' & i]#" cfsqltype="cf_sql_varchar">,
          <cfqueryparam value="#form['pax_' & i]#" cfsqltype="cf_sql_integer">,
          <cfqueryparam value="#form['itinerary_' & i]#" cfsqltype="cf_sql_varchar">
        )
      </cfquery>
    </cfif>
  </cfloop>
  </cftransaction>
</cfif>

On the client side update a hidden counter whenever you append a group and give each new input the matching indexed name. Example approach in JS: increment eventCount, then create inputs with name = 'eventDate_' + eventCount (and similarly for other fields).

Cautions: always validate and normalize dates/times server‑side; use cfqueryparam to prevent injection and to ensure correct typing; skip empty groups; for many rows consider batching or a stored procedure for performance. This pattern keeps the server code simple and avoids fragile parsing of arbitrary form keys.

I have write javascript to create form field when button is click.

function addEvent(myTable){
var lastRow = myTable.rows.length;
var x1=myTable.insertRow(lastRow);
var a=x1.insertCell(0);
var a1=x1.insertCell(1);
var x2=myTable.insertRow(lastRow+1);
var b=x2.insertCell(0);
var b1=x2.insertCell(1);
var x3=myTable.insertRow(lastRow+2);
var c=x3.insertCell(0);
var c1=x3.insertCell(1);
var x4=myTable.insertRow(lastRow+3);
var d=x4.insertCell(0);
var d1=x4.insertCell(1);
var x5=myTable.insertRow(lastRow+4);
var e=x5.insertCell(0);
var e1=x5.insertCell(1);
var x6=myTable.insertRow(lastRow+5);
var f=x6.insertCell(0);
var f1=x6.insertCell(1);
var x7=myTable.insertRow(lastRow+6);
var g=x7.insertCell(0);
var g1=x7.insertCell(1);
var x8=myTable.insertRow(lastRow+7);
var h=x8.insertCell(0);
var h1=x8.insertCell(1);
a.innerHTML="Event Date";
a1.innerHTML='<input type="text">' + "Pick-Up Time" + '<input type="text">';
b.innerHTML="Event Date End";
b1.innerHTML='<input type="text">' + "Drop-Off Time" + '<input type="text">';
c.innerHTML="Coach";
c1.innerHTML="<select size=1 name='Loc' id='Loc'><option selected>Select a Location<option value=1>North East<option value=2>Soth America<option value=3>Canada</select>";
d.innerHTML="Driver";
d1.innerHTML="<select size=1 name='Loc' id='Loc'><option selected>Select a Location<option value=1>North East<option value=2>Soth America<option value=3>Canada</select>";
e.innerHTML="Origination";
e1.innerHTML='<input type="text">';
f.innerHTML="Destination";
f1.innerHTML='<input type="text">';
g.innerHTML="Itinerary";
g1.innerHTML='<input type="textarea">';
h.innerHTML="Pax";
h1.innerHTML='<input type="text">';
}

Then I want to insert value that user type in in database by using cfinsert. This javascript function can be called multiple time. How do i use cfloop and cfinsert to access database in this case.
I already have the submit button to submit form at some point, but I dont know how to loop cfinsert to insert value in database.
Please help. Thanks

what kind of DB are you running?? I are you on a Windows Server or Linux Server? I find it easier to get quicker results off of PHP or ASP.

window sql server 2000. and I use coldfusion to create the rest of the form.

I have write javascript to create form field when button is click.

function addEvent(myTable){
var lastRow = myTable.rows.length;
var x1=myTable.insertRow(lastRow);
var a=x1.insertCell(0);
var a1=x1.insertCell(1);
var x2=myTable.insertRow(lastRow+1);
var b=x2.insertCell(0);
var b1=x2.insertCell(1);
var x3=myTable.insertRow(lastRow+2);
var c=x3.insertCell(0);
var c1=x3.insertCell(1);
var x4=myTable.insertRow(lastRow+3);
var d=x4.insertCell(0);
var d1=x4.insertCell(1);
var x5=myTable.insertRow(lastRow+4);
var e=x5.insertCell(0);
var e1=x5.insertCell(1);
var x6=myTable.insertRow(lastRow+5);
var f=x6.insertCell(0);
var f1=x6.insertCell(1);
var x7=myTable.insertRow(lastRow+6);
var g=x7.insertCell(0);
var g1=x7.insertCell(1);
var x8=myTable.insertRow(lastRow+7);
var h=x8.insertCell(0);
var h1=x8.insertCell(1);
a.innerHTML="Event Date";
a1.innerHTML='<input type="text">' + "Pick-Up Time" + '<input type="text">';
b.innerHTML="Event Date End";
b1.innerHTML='<input type="text">' + "Drop-Off Time" + '<input type="text">';
c.innerHTML="Coach";
c1.innerHTML="<select size=1 name='Loc' id='Loc'><option selected>Select a Location<option value=1>North East<option value=2>Soth America<option value=3>Canada</select>";
d.innerHTML="Driver";
d1.innerHTML="<select size=1 name='Loc' id='Loc'><option selected>Select a Location<option value=1>North East<option value=2>Soth America<option value=3>Canada</select>";
e.innerHTML="Origination";
e1.innerHTML='<input type="text">';
f.innerHTML="Destination";
f1.innerHTML='<input type="text">';
g.innerHTML="Itinerary";
g1.innerHTML='<input type="textarea">';
h.innerHTML="Pax";
h1.innerHTML='<input type="text">';
}

Then I want to insert value that user type in in database by using cfinsert. This javascript function can be called multiple time. How do i use cfloop and cfinsert to access database in this case.
I already have the submit button to submit form at some point, but I dont know how to loop cfinsert to insert value in database.
Please help. Thanks

You need to name your form fields, and then pass a list of the form fields to the CFINSERT statement. Make sure you have a table in your data source that has fields defined for all the elements in your form. Or you can just manually write an SQL statment and stick that into a CFQUERY tag. Sounds like you are doing this dynamically in your Java, so you'll need a dynamic SQL statment, and CFINSERT is not good for that, instead do a CFQUERY and in the SQL Where clause use multiple AND's; and but start with a condition that is always true; WHERE 1=1... This will allow you to add as many extra items as you need; or non if that happens to be the case. The 1=1 is important because without it you'll get an error if there are no extra fields to add. If you are lost, I'd suggest you pick up the book "SQL for Smarties"; SQL will help you in many future projects, and is used in all programming languages that interact with a DB. CFINSERT is just a shortcut, and is too basic for what you need...

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.