Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/12/2009, 10:02
javiercitox
 
Fecha de Ingreso: diciembre-2009
Ubicación: Valparaíso
Mensajes: 118
Antigüedad: 15 años, 1 mes
Puntos: 3
Codigo PHP inserto en JS no funciona

Tengo una función JS que agrega una serie de campos nuevos a un DIV, para el ejemplo solo pondre 2, la función es la siguiente:

Código:
function crearCampos(){
var div = document.getElementById("campos_dinamicos");
var text ='<td align="center"><input name="ManualUT'+i+'" id= "ManualUT" type="text" disabled size="20" maxlength="20">
<td align="center" valign="top">'+ <?php MostrarSelect("Codigos","","","","","170","","Codigos'+i+'"); ?> +'</td>';
div.innerHTML = text;
En var text existe un código HTML que se utiliza para generar campos nuevos, el primer input es un textBox, y el segundo es una función PHP que devuelve un comboBox (o select para algunos). El código funciona bien sin la función PHP.

El código de la función PHP es el siguiente:

Código PHP:
<?php
function MostrarSelect($pEntidad,$pSelectedID=NULL,$pDisabled=NULL,$pTipoFamilia=NULL,$pAncho="145",$pEvento=NULL,$pNombre=NULL){
        
// Asignamos a una variable la matriz de la entidad a mostrar
        
$Matriz ObtenerMatriz($pEntidad,$pTipoFamilia);
        
// Si no existen registros en la base de datos de esta entidad, se manda el mensaje correspondiente
        
if (!$Matriz){
            echo 
"<font color=\"red\"><strong>No existen registros de $pEntidad en la Base de Datos.</strong></font>";
            return;
        }
        
// Mostramos el select con las opciones con los nombres de la entidad y los valores de sus identificadores en la base de datos
        
?>
        <select name="<?php if($pNombre!=NULL) echo $pNombre; else echo $pEntidad;?>" id="<?php echo $pEntidad;?><?php echo $pDisabled;?> style="width:<?php echo $pAncho?>px <?php echo "$pEvento"?> ">
            <option <?php if (!$pSelectedID) echo "selected ";?>value="" disabled>Seleccionar...</option>
            <?php
                
for ($i=$i<count($Matriz) ; $i++){
                    
// Si $pSelectedID es distinto de NULL debemos aplicar un selected a la opción correcta
                    
if ($pSelectedID)
                        if (
$Matriz[$i][0]==$pSelectedID)
                            
$Selected " selected";
                        else
                            
$Selected NULL;
                    echo 
"<option value=\"".$Matriz[$i][0]."\"".$Selected.">".$Matriz[$i][1]."</option>\n\t\t\t";
                }
            
?>
        </select>
        <?php
    
}

?>
y donde llamo a JS

Código:
<input name="Agregar" type="button" onClick="crearCampos()" id="Agregar" value="Agregar">

<div id="campos_dinamicos"> </div>
Cuando quito la función PHP de JS funciona bien, y he creado otras funciones básicas que devuelven string para probar el código y funcionan bien

Última edición por javiercitox; 22/12/2009 a las 17:10