Foros del Web » Programando para Internet » Javascript »

Problemas al Validar un checkbox y textarea dentro de un Inner HTML y con un boton g

Estas en el tema de Problemas al Validar un checkbox y textarea dentro de un Inner HTML y con un boton g en el foro de Javascript en Foros del Web. Hola! Tengo un codigo en javascript y valido al dar grabar sin embargo tengo un innerHTML dentro del formulario y quisiera validar para obligar a ...
  #1 (permalink)  
Antiguo 14/02/2012, 10:19
 
Fecha de Ingreso: enero-2012
Mensajes: 1
Antigüedad: 12 años, 3 meses
Puntos: 0
Problemas al Validar un checkbox y textarea dentro de un Inner HTML y con un boton g

Hola! Tengo un codigo en javascript y valido al dar grabar sin embargo tengo un innerHTML dentro del formulario y quisiera validar para obligar a marcar un checkbox y llenar el textarea dentro del innerHTML.
Bueno voy a postera mi HTML Y Javascript a ver si me pueden ayudar. Gracias.:)

//AQUI INGRESO FUNCIONES DE VALIDACION

//f_ValidateTextArea
function f_ValidateTextArea( sTableID, Texto ) {
tableObj = document.getElementById(sTableID).cell2.innerHTML
for ( z = 1; z < tableObj.rows.length; z++ ) {
sCbName = 'prm_sTxOpcRpta_' + z
if ( Texto.form.elements[sCbName].value.length==0) {
Texto.form.elements['prm_sFgEdited_' + z].value = '1'
alert("Debe ingresar un texto")
return false;
}
else{
Texto.form.elements['prm_sFgEdited_' + z].value = '1'
return true;
}
}
}

//f_ValidateFgRptaOk
function f_ValidaFgRptaOk( sTableID, CheckboxObj ) {
tableObj = document.getElementById(sTableID).cell3.innerHTML
for ( z = 1; z < tableObj.rows.length; z++ ) {
sCbName = 'prm_sFgRptaOk2_' + z
if ( CheckboxObj.form.elements[sCbName].checked ) {
CheckboxObj.form.elements['prm_sFgEdited_' + z].value = '1'
return true;
}else{
return false;
}
}
}


//ESTA ES LA VALIDACION DEL BOTON GRABAR
function validarPregunta(){
var obj = document.forms[0];
var tblOpc2 = document.getElementById('tblOpc2');

if ( f_ValidarComboBox('prm_sNoTipPgta',' tipo de pregunta')==false ){
obj.prm_sNoTipPgta[0].focus();
return false;
}else{

var retorno = f_ObtieneValorComboBox("prm_sNoTipPgta")

if ( retorno=="2"){
if ( f_ValidarRadioButton('prm_sOpc','para las opciones en vertical')==false ){
obj.prm_sOpc[0].focus();
return false;
}
}else if ( retorno=="3" ){
if ( f_ValidarRadioButton('prm_sOpc1','para las opciones en vertical')==false ){
obj.prm_sOpc1[0].focus();
return false;
}
}else if(retorno=="4"){
if (f_ValidaFgRptaOk('tblcOpc2',this)){
if(f_ValidateTextArea( 'tblOpc2', this )==false){
alert("Debe ingresar una pregunta para la alternativa ");
return false;
}else{
return true;
}
}

}

}


return true;

}

------------------------------------

// EL CODIGO innerHTML

//Agregar Opción Sin Respuesta
function f_AgregarOpcion2( sTableID ) {
tableObj = document.getElementById(sTableID);
nRowOld = tableObj.rows.length; // Nro. de filas antes de la insercion
if( nRowOld == 11 ){
return false;
}
newRow = tableObj.insertRow(nRowOld);
nRowNew = tableObj.rows.length; // Nro. de filas luego de la insercion
objFrm = document.forms[0];
objFrm.elements['prm_sNroOpc'].value = nRowNew-1;
if( nRowNew == nRowOld ) {
return false;
}
newRow.id = sTableID + '_' + nRowOld.toString()
newRow.style.backgroundColor="#E6E4DD";
cell1 = newRow.insertCell(0);
cell2 = newRow.insertCell(1);
cell3 = newRow.insertCell(2);
cell4 = newRow.insertCell(3);
sIndice = nRowOld;
cell1.innerHTML = '<input name="prm_sNuOpcRpta_' + sIndice + '" type="hidden" value="' + nRowOld.toString() + '" size="2" maxlength="2">'
cell1.innerHTML = cell1.innerHTML + '<input name="prm_sNuOpcRptaOrig_' + sIndice + '" type="hidden" value="" size="2" maxlength="2">'
cell1.innerHTML = cell1.innerHTML + '<input name="prm_sFgEdited_' + sIndice + '" type="hidden" value="1" size="2" maxlength="2">'
cell1.innerHTML = cell1.innerHTML + '<div align="center"><strong>' + nRowOld.toString() + '</strong></div>'
cell2.innerHTML = '<div align="center"><textarea class="inputs" onChange="this.form.prm_sFgEdited_' + sIndice + '.value = \'1\'" name="prm_sTxOpcRpta_' + sIndice + '" wrap="physical" cols="90" rows="3" onKeyDown="textCounterOpcion(this.form.prm_sTxOpcR pta_' + sIndice + ',250);" onKeyUp="textCounterOpcion(this.form.prm_sTxOpcRpt a_' + sIndice + ',250);"></textarea></div>'
cell3.innerHTML = '<div align="center"><input type="checkbox" class="inputs" onChange="this.form.prm_sFgEdited_' + sIndice + '.value = \'1\'" name="prm_sFgRptaOk2_' + sIndice + '" onClick="f_ValidateFgRptaOk2( \'' + sTableID + '\', this );" value="1"></div>'
cell4.innerHTML = '<div align="center"><a href="" onClick="f_EliminarOpcion2( \'' + sTableID + '\', ' + nRowOld.toString() + ' );return false;"><img src="http://contenidos.ulima.edu.pe/portalUL/images/delete.gif" border="0"></a></div>'

return true;
}

//Inicio de nuevas funciones para el nuevo formulario de opciones
function f_MoveObjValByRowIndex2( sTableID, nRow1, nRow2 ) {
tableObj = document.getElementById(sTableID)
if ( nRow1 > tableObj.rows.length || nRow2 > tableObj.rows.length || nRow1 == 0 || nRow2 == 0 ) {
return false
}
rowObj1 = tableObj.rows[nRow1]
rowObj2 = tableObj.rows[nRow2]
//Para mover las filas ambas deben de tener el mismo número de columnas
if( rowObj1.cells.length != rowObj2.cells.length ) {
return false
}
objFrm = document.forms[0];
sIndice1 = nRow1
sIndice2 = nRow2
//Mueve los valores de los objetos en la fila nRow1 a variables temporales
tempTxOpcRpta = objFrm.elements['prm_sTxOpcRpta_' + sIndice1].value
tempFgRptaOk = objFrm.elements['prm_sFgRptaOk2_' + sIndice1].checked
//Mueve los valores de los objetos en la fila nRow2 a la fila nRow1
objFrm.elements['prm_sTxOpcRpta_' + sIndice1].value = objFrm.elements['prm_sTxOpcRpta_' + sIndice2].value
objFrm.elements['prm_sFgRptaOk2_' + sIndice1].checked = objFrm.elements['prm_sFgRptaOk2_' + sIndice2].checked
//Mueve los valores de las variables temporales a la fila nRow2
objFrm.elements['prm_sTxOpcRpta_' + sIndice2].value = tempTxOpcRpta
objFrm.elements['prm_sFgRptaOk2_' + sIndice2].checked = tempFgRptaOk
// En ambas filas se setea en 1 el campo que se usa para indicar si se ha editado la fila
objFrm.elements['prm_sFgEdited_' + sIndice1].value = '1'
objFrm.elements['prm_sFgEdited_' + sIndice2].value = '1'
return true
}

// MI CODIGO HTML
<FORM>
//OTRO CODIGO QUE NO VIENE AL CASO-----

<TABLE>
<tr >
<td width=180 class="tdTituloCampo">Alternativas</td>
<td width=150 >
<a href="#" onclick="javascript:f_AgregarOpcion2( 'tblOpc2' );return false;" class="option">Agregar opción</a>
</td>
</tr>
</table>

<table align="center" style="display:none;" width="60%" id="tblOpc2" border="4" cellspacing="1" cellpadding="0">
<tr valign="middle" bgcolor="#C5C2BC">
<td align="center"><strong>No. </strong></td>
<td> <strong>Texto alternativa </strong></td>
<td align="center"><strong>Alternativa <br>correcta </strong></td>
<td align="center"><strong>Eliminar </strong></td>
</tr>
</table>

Etiquetas: checkbox, formulario, funcion, html, input, textarea, botones
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:48.