------------------------------------------------------------ like so on
ADDMORE SAVE
when i click on add more ,5 more rows added to the page,when i click on save ,if any one of the inputfield is empty,then error message sholud throw at the side of that empty inputfield
through that added rows,i want to insert data into object and while inserting data i want to validate that data from newly added input text box,and error message should thrown at the beside of that textbox
Below is the sample code to add the dynamically row in and validate them-
<apex:page>
<body>
<form>
<table id="TableId">
<thead>
<tr>
<th scope="col" class="num"></th>
<th scope="col" class="fname">First Name</th>
<th scope="col" class="lname">Last Name</th>
<th scope="col" class="email">Email</th>
</tr>
</thead>
<tbody id="tablebody">
<tr>
<td class="num">1.</td>
<td><input type="text" name="" value="" id="name1"/></td>
<td><input type="text" name="" value="" id="last1"/></td>
<td><input type="text" name="" value="" id="email1"/></td>
</tr><tr>
<td class="num">2.</td>
<td><input type="text" name="" value="" id="name2"/></td>
<td><input type="text" name="" value="" id="last2"/></td>
<td><input type="text" name="" value="" id="email2"/></td>
</tr>
</tbody>
<tfoot>
<tr>
<td><input type="Button" value="Save" onclick="Validate();"/></td>
<td colspan="2"><a onclick="InsertRow();">Add More 5 Records</a></td>
</tr>
</tfoot>
</table>
<script>
function addRow(num)
{
if(document.all)
{
var tbody1 = document.getElementById('tablebody');
var row = document.createElement("TR");
var td1 = document.createElement("TD");
td1.setAttribute("className","num");
td1.innerHTML = num + '.' ;
var td2 = document.createElement("TD");
var SpanTd2 = document.createElement("Span");
var aTextBoxSpanTd2 = document.createElement('input');
aTextBoxSpanTd2.type = "text";
aTextBoxSpanTd2.id = "name" + num ;
SpanTd2.appendChild(aTextBoxSpanTd2);
td2.appendChild(SpanTd2);
var td3 = document.createElement("TD");
var SpanTd3 = document.createElement("Span");
var aTextBoxSpanTd3 = document.createElement('input');
aTextBoxSpanTd3.type = "text";
aTextBoxSpanTd3.id = "last" + num ;
SpanTd3.appendChild(aTextBoxSpanTd3);
td3.appendChild(SpanTd3);
var td4 = document.createElement("TD");
var SpanTd4 = document.createElement("Span");
var aTextBoxSpanTd4 = document.createElement('input');
aTextBoxSpanTd4.type = "text";
aTextBoxSpanTd4.id = "email" + num ;
SpanTd4.appendChild(aTextBoxSpanTd4);
td4.appendChild(SpanTd4);
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
tbody1.appendChild(row);
}
else
{
var tbody1 = document.getElementById('tablebody');
var row = document.createElement("TR");
var td1 = document.createElement("TD");
td1.setAttribute("class","num");
td1.innerHTML = num + '.' ;
var td2 = document.createElement("TD");
var SpanTd2 = document.createElement("Span");
var aTextBoxSpanTd2 = document.createElement('input');
aTextBoxSpanTd2.type = "text";
aTextBoxSpanTd2.id = "name" + num ;
SpanTd2.appendChild(aTextBoxSpanTd2);
td2.appendChild(SpanTd2);
var td3 = document.createElement("TD");
var SpanTd3 = document.createElement("Span");
var aTextBoxSpanTd3 = document.createElement('input');
aTextBoxSpanTd3.type = "text";
aTextBoxSpanTd3.id = "last" + num ;
SpanTd3.appendChild(aTextBoxSpanTd3);
td3.appendChild(SpanTd3);
var td4 = document.createElement("TD");
var SpanTd4 = document.createElement("Span");
var aTextBoxSpanTd4 = document.createElement('input');
aTextBoxSpanTd4.type = "text";
aTextBoxSpanTd4.id = "email" + num ;
SpanTd4.appendChild(aTextBoxSpanTd4);
td4.appendChild(SpanTd4);
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
tbody1.appendChild(row);
}
}
function InsertRow()
{
var table = document.getElementById("TableId");
var strTb = '', rowCount = table.rows.length;
var NewId = rowCount-1;
for(i = NewId ; i <= NewId + 4 ;++i)
{
addRow(i);
}
}
function Validate()
{
var table = document.getElementById("TableId");
var rowCount = table.rows.length;
var MyTeam = new Array(rowCount);
for(i = 1 ; i <= rowCount-2 ; i++)
{
var Name = "name" + i;
var Last = "last" + i;
var email = "email" + i;
var NameValue = document.getElementById(Name).value;
var LastValue = document.getElementById(Last).value;
var EmailValue = document.getElementById(email).value;
if(NameValue == '')
{
alert("First Name is required in S.no" + " " + i);
}
}
}
</script>
</form>
</body>
</apex:page>
All Answers
Hi,
You can make use of "Javascript" coding along with html input elements to implement solution in your scenario.
You can use the following code snippet:-
Did this answer your question? If not, let me know what didn't work, or if so, please mark it solved.
thank u
please understand scenario:
through that added rows,i want to insert data into object and while inserting data i want to validate that data from newly added input text box,and error message should thrown at the beside of that textbox
Below is the sample code to add the dynamically row in and validate them-
<apex:page>
<body>
<form>
<table id="TableId">
<thead>
<tr>
<th scope="col" class="num"></th>
<th scope="col" class="fname">First Name</th>
<th scope="col" class="lname">Last Name</th>
<th scope="col" class="email">Email</th>
</tr>
</thead>
<tbody id="tablebody">
<tr>
<td class="num">1.</td>
<td><input type="text" name="" value="" id="name1"/></td>
<td><input type="text" name="" value="" id="last1"/></td>
<td><input type="text" name="" value="" id="email1"/></td>
</tr><tr>
<td class="num">2.</td>
<td><input type="text" name="" value="" id="name2"/></td>
<td><input type="text" name="" value="" id="last2"/></td>
<td><input type="text" name="" value="" id="email2"/></td>
</tr>
</tbody>
<tfoot>
<tr>
<td><input type="Button" value="Save" onclick="Validate();"/></td>
<td colspan="2"><a onclick="InsertRow();">Add More 5 Records</a></td>
</tr>
</tfoot>
</table>
<script>
function addRow(num)
{
if(document.all)
{
var tbody1 = document.getElementById('tablebody');
var row = document.createElement("TR");
var td1 = document.createElement("TD");
td1.setAttribute("className","num");
td1.innerHTML = num + '.' ;
var td2 = document.createElement("TD");
var SpanTd2 = document.createElement("Span");
var aTextBoxSpanTd2 = document.createElement('input');
aTextBoxSpanTd2.type = "text";
aTextBoxSpanTd2.id = "name" + num ;
SpanTd2.appendChild(aTextBoxSpanTd2);
td2.appendChild(SpanTd2);
var td3 = document.createElement("TD");
var SpanTd3 = document.createElement("Span");
var aTextBoxSpanTd3 = document.createElement('input');
aTextBoxSpanTd3.type = "text";
aTextBoxSpanTd3.id = "last" + num ;
SpanTd3.appendChild(aTextBoxSpanTd3);
td3.appendChild(SpanTd3);
var td4 = document.createElement("TD");
var SpanTd4 = document.createElement("Span");
var aTextBoxSpanTd4 = document.createElement('input');
aTextBoxSpanTd4.type = "text";
aTextBoxSpanTd4.id = "email" + num ;
SpanTd4.appendChild(aTextBoxSpanTd4);
td4.appendChild(SpanTd4);
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
tbody1.appendChild(row);
}
else
{
var tbody1 = document.getElementById('tablebody');
var row = document.createElement("TR");
var td1 = document.createElement("TD");
td1.setAttribute("class","num");
td1.innerHTML = num + '.' ;
var td2 = document.createElement("TD");
var SpanTd2 = document.createElement("Span");
var aTextBoxSpanTd2 = document.createElement('input');
aTextBoxSpanTd2.type = "text";
aTextBoxSpanTd2.id = "name" + num ;
SpanTd2.appendChild(aTextBoxSpanTd2);
td2.appendChild(SpanTd2);
var td3 = document.createElement("TD");
var SpanTd3 = document.createElement("Span");
var aTextBoxSpanTd3 = document.createElement('input');
aTextBoxSpanTd3.type = "text";
aTextBoxSpanTd3.id = "last" + num ;
SpanTd3.appendChild(aTextBoxSpanTd3);
td3.appendChild(SpanTd3);
var td4 = document.createElement("TD");
var SpanTd4 = document.createElement("Span");
var aTextBoxSpanTd4 = document.createElement('input');
aTextBoxSpanTd4.type = "text";
aTextBoxSpanTd4.id = "email" + num ;
SpanTd4.appendChild(aTextBoxSpanTd4);
td4.appendChild(SpanTd4);
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
row.appendChild(td4);
tbody1.appendChild(row);
}
}
function InsertRow()
{
var table = document.getElementById("TableId");
var strTb = '', rowCount = table.rows.length;
var NewId = rowCount-1;
for(i = NewId ; i <= NewId + 4 ;++i)
{
addRow(i);
}
}
function Validate()
{
var table = document.getElementById("TableId");
var rowCount = table.rows.length;
var MyTeam = new Array(rowCount);
for(i = 1 ; i <= rowCount-2 ; i++)
{
var Name = "name" + i;
var Last = "last" + i;
var email = "email" + i;
var NameValue = document.getElementById(Name).value;
var LastValue = document.getElementById(Last).value;
var EmailValue = document.getElementById(email).value;
if(NameValue == '')
{
alert("First Name is required in S.no" + " " + i);
}
}
}
</script>
</form>
</body>
</apex:page>
Thank u Master,
Really Thank u for sharing u r knowledge with us...........................
How to insert that entered data into object from each and every fields(from added rows also).
Thank u
can any one tell me how to insert parents and child records