Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - Dimitar Stefanov

Páginas: 1 ... 3 4 5 6 7 [8] 9 10 11 12 13 ... 30
141
Buenas tardes. Propongo una posible solución del ejercicio CU01212F del curso Ajax desde cero.

Citar
EJERCICIO

Muchas validaciones se realizan del lado del cliente usando JavaScript, pero otras se realizan del lado del servidor (por ejemplo comprobar si un nombre de usuario está libre para dar de alta a un usuario, o comprobar si un correo electrónico está libre para registrar a un usuario en un foro).

Crea un documento HTML que conste de:

a) Un título H1 con el texto “Alta de usuarios”

b) Un formulario con un campo Nombre, otro Apellidos y otro Nombre de Usuario.

c) Una utilidad Ajax que informe si el nombre de usuario ya existe cada vez que el campo correspondiente a nombre del usuario pierda el foco. En ese momento deberá mostrarse un mensaje “Nombre de usuario libre” ó si no está libre, “Nombre de usuario no disponible”.

Para comprobar si ya existe el nombre de usuario debes realizar una invocación al archivo comprobarUsuarios.php donde deberás definir la lista de nombres de usuario existentes como un array php (por ejemplo puedes usar el array nombreExistente[0]='juan'; nombreExistente[1]='pedro'; nombreExistente[2]='alfredo'; nombreExistente[3]='luis';) y añadir el código necesario para obtener la funcionalidad deseada.

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo aprenderaprogramar.com</title>
<script type="text/javascript">

function comprobarUsuario(str){

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.response);
}
}

var cadenaParametros = 'usuario='+encodeURIComponent(str);
xmlhttp.open("POST", "CU01212F(01).php");
xmlhttp.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');
xmlhttp.send(cadenaParametros);
}

</script>
</head>
<body>
<h1>Alta de usuario</h1>
<form action="">
<label for="nombre">Nombre: <input type="text" id="nombre" name="nombre"></label><br><br>
<label for="apellidos">Apellidos: <input type="text" id="apellidos" name="apellidos"></label><br><br>
<label for="usuario">Nombre de Usuario: <input type="text" id="usaurio" name="usaurio" onblur="comprobarUsuario(this.value)"></label><br><br>
<label for="submit"><input type="submit" value="Enviar"></label>
</form>
</body>
</html>

Código PHP:

Código: [Seleccionar]
<?php 

$nombreExistente[0]='juan'
$nombreExistente[1]='pedro'
$nombreExistente[2]='alfredo'
$nombreExistente[3]='luis';

$usuario $_POST['usuario'];
if($usuario == $nombreExistente[0] || $usuario == $nombreExistente[1] || $usuario == $nombreExistente[2] || $usuario == $nombreExistente[3]){
echo "Nombre de usuario no disponible";
}else{
echo "Nombre de usuario libre";
}

?>

Gracias.

142
Buenas tardes. Expongo una posible solución del ejercicio CU01211F del curso Ajax desde cero.

Citar
EJERCICIO                                                                                                       

Lee este texto que hemos extraído del artículo: ¿Qué es y para qué sirve XML? disponible en http://aprenderaprogramar.com/index.php?option=com_content&view=article&id=102:ique-es-y-para-que-sirve-el-lenguaje-de-etiquetas-xml-extensible-markup-language&catid=46:lenguajes-y-entornos&Itemid=163

 Las etiquetas XML pueden tener atributos, que son una manera de incorporar características o propiedades a las etiquetas de un documento. El atributo consta de dos partes: La propiedad del elemento y el valor  de la propiedad, que siempre va entre comillas doble (“) o simple (‘). Por ejemplo: modelo y color serian atributos de la etiqueta Vehiculo:
 <Vehiculo marca="Toyota" modelo="45 TC" color="plomo">En venta</Vehiculo>

Considera el siguiente documento xml al que denominamos ejemplo.xml:

Código: [Seleccionar]
<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <price type="high">44.95</price>
      <publish_date>2000-10-01</publish_date>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <price type="low">5.95</price>
      <publish_date>2000-12-16</publish_date>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <price type="low">5.95</price>
      <publish_date>2000-11-17</publish_date>
   </book>
</catalog>

Citar
A priori podríamos pensar en usar getElementById para recuperar información del documento xml con Ajax. Pero esta función no responde con documentos XML, como explica este texto en inglés:

Non-HTML documents. The DOM implementation must have information that says which attributes are of type ID. Attributes with the name "id" are not of type ID unless so defined in the document's DTD. The id attribute is defined to be of ID type in the common cases of XHTML, XUL, and other. Implementations that do not know whether attributes are of type ID or not are expected to return null.

a) Usa el archivo ejemplo.xml y coloca un botón que intente recuperar usando ajax y getElementById el contenido del elemento con id="bk101" ¿Qué código has empleado? ¿Qué resultado obtienes?

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo Ajax</title>
<script type="text/javascript">

function recuperarDatos(){

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var xmlDoc = xmlhttp.responseXML;
var nodoBook = xmlDoc.getElementById("bk101");
alert(nodoBook.innerHTML);

}
}

xmlhttp.open("GET", "CU01211F(01).xml");
xmlhttp.send();
}

</script>
</head>
<body>
<button onclick="recuperarDatos()">Recuperar Datos</button>
</body>
</html>

Puedo visualizar  el contenido del elemento con id="bk101".

Citar
b) Usa el archivo ejemplo.xml y coloca un botón que intente recuperar usando ajax y la función que hemos visto anteriormente getElementByIdMXL(the_node,the_id) el contenido del elemento con id="bk101" ¿Qué código has empleado? ¿Qué resultado obtienes?

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo Ajax</title>
<script type="text/javascript">

function recuperarDatos(){

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var xmlDoc = xmlhttp.responseXML;
var nodoBook = getElementByIdMXL(xmlDoc, 'bk101');
alert(nodoBook.innerHTML);

}
}

xmlhttp.open("GET", "CU01211F(01).xml");
xmlhttp.send();
}

function getElementByIdMXL(the_node,the_id) {
    //Nos traemos todos los nodos con cualquier tag del documento xml
    node_tags = the_node.getElementsByTagName('*');
    for (i=0;i<node_tags.length;i++) {
    // Comprobamos si existe un atributo id
        if (node_tags[i].hasAttribute('id')) {
            // Si existe el atributo id comprobamos si coincide con el buscado
            if (node_tags[i].getAttribute('id') == the_id) {
                // Devolvemos el nodo que tiene el id buscado, solo el primero ya que debe ser único
                return node_tags[i];
            }
        }
    }
}

</script>
</head>
<body>
<button onclick="recuperarDatos()">Recuperar Datos</button>
</body>
</html>

Puedo visualizar el contenido del elemento con id="bk101".

Citar
c) Usa el archivo ejemplo.xml y coloca un botón que intente recuperar usando ajax y la función que hemos visto anteriormente getElementsByAttribute(the_attribute, the_value, the_node) todos los precios que lleven como atributo type "low" ¿Qué código has empleado? ¿Qué resultado obtienes?

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo Ajax</title>
<script type="text/javascript">

function recuperarDatos(){

var xmlhttp = new XMLHttpRequest();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
var xmlDoc = xmlhttp.responseXML;
var nodoBook = getElementsByAttribute('type', 'low', xmlDoc);
for(var i=0; i<nodoBook.length; i++){
alert(nodoBook[i].innerHTML);
}


}
}

xmlhttp.open("GET", "CU01211F(01).xml");
xmlhttp.send();
}

function getElementsByAttribute(the_attribute, the_value, the_node) {
if(the_node == null){
the_node = document;
}
var node_tags = the_node.getElementsByTagName('*');
var results = new Array();
for (i=0, j=0; i<node_tags.length;i++){
    if(node_tags[i].hasAttribute(the_attribute)){
        if(node_tags[i].getAttribute(the_attribute) == the_value){
            results[j] = node_tags[i];
            j++;
            }
        }
}
return results;
}

</script>
</head>
<body>
<button onclick="recuperarDatos()">Recuperar Datos</button>
</body>
</html>

Recuperamos todos los precios que lleven como atributo type "low".

De los tres apartados del ejercicio concluyo que anteriormente no funcionaba el método "getElementById" en XML y Ajax, pero en la actualidad sí. Llego a esta conclusión, porque en el primer apartado me funcionó bien dicho método.

Gracias.

143
Buenas noches.

Expongo una posible solución del ejercicio CU01210F del curso Ajax desde cero.

Citar
EJERCICIO                                                                                                       

Considera el siguiente documento xml al que denominamos ejemplo.xml:

Código original XML:

Código: [Seleccionar]
<?xml version="1.0"?>
<catalog>
   <book id="bk101">
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
   </book>
   <book id="bk102">
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
   </book>
   <book id="bk103">
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
   </book>
</catalog>

Citar
a) Transforma el archivo xml para que id en lugar de ser un atributo de etiqueta sea una etiqueta

Código XML:

Código: [Seleccionar]
<?xml version="1.0" ?>
<catalog>
   <book>
      <id>bk101</id>
      <author>Gambardella, Matthew</author>
      <title>XML Developer's Guide</title>
      <price>44.95</price>
      <publish_date>2000-10-01</publish_date>
   </book>
   <book>
      <id>bk102</id>
      <author>Ralls, Kim</author>
      <title>Midnight Rain</title>
      <price>5.95</price>
      <publish_date>2000-12-16</publish_date>
   </book>
   <book>
      <id>bk103</id>
      <author>Corets, Eva</author>
      <title>Maeve Ascendant</title>
      <price>5.95</price>
      <publish_date>2000-11-17</publish_date>
   </book>
</catalog>

Citar
b) Crea un archivo html que permita elegir el título (title) y dinámicamente recupere desde el archivo xml el contenido de todas las demás etiquetas incluido el id y los muestre por pantalla.


Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<title>Cursos aprende a programar</title>
<meta charset="utf-8">
  <style type="text/css">
  *{
  font-family:sans-serif;
  }
  a:link{
  text-decoration:none;
  }
  select{
  font-size:18px;
  }
  div div{
  color: blue;
  background-color:#F1FEC6;
  font-size: 20px;
  float: left;
  border: solid;
  margin: 20px;
  padding:15px;
  }
  </style>
 
<script>

function mostrarSugerencia(str){

var libroElegido='';
if(str=='bk101'){
libroElegido='bk101';
}else if(str=='bk102'){
libroElegido='bk102';
}else if(str=='bk103'){
libroElegido='bk103';
}else{
libroElegido='none';
}

var xmlhttp;
if(str.length==0 ||libroElegido=='none'){
document.getElementById("txtInformacion").innerHTML="no hay datos";
return;
}

xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
    var xmlDoc = xmlhttp.responseXML;
    librosRecibidos = obtenerArrayNodosPorTag(xmlDoc, 'book');
   
    for(var i=0; i<librosRecibidos.length;i++){
        var tituloLibro = obtenerArrayNodosPorTag(librosRecibidos[i], 'title')[0].innerHTML;
        var autorLibro = obtenerArrayNodosPorTag(librosRecibidos[i], 'author')[0].innerHTML;
        var precioLibro = obtenerArrayNodosPorTag(librosRecibidos[i], 'price')[0].innerHTML;
        var publicacionLibro = obtenerArrayNodosPorTag(librosRecibidos[i], 'publish_date')[0].innerHTML;
        var idLibro = obtenerArrayNodosPorTag(librosRecibidos[i], 'id')[0].innerHTML;
        if(idLibro==libroElegido){
        document.getElementById("txtInformacion").innerHTML = 'El libro recibido por get en segundo plano es '+tituloLibro+ ' y tiene id '+idLibro+'. Su autor es '+autorLibro+', cuesta '+precioLibro+' y está publicado '+publicacionLibro;
        }
    }
}
}

xmlhttp.open("GET","CU01210F(01).xml");
xmlhttp.send();
}

 

function obtenerArrayNodosPorTag(nodoRaiz, nombreTag){
var arrayNodos = nodoRaiz.getElementsByTagName(nombreTag);
return arrayNodos;
}

</script>

</head>
<body style="margin:20px;">
<h2>Elige un país:</h2>
<form action="">
<select onchange="mostrarSugerencia(this.value)">
  <option value="none">Elige</option>
  <option value="bk101">XML Developer's Guide</option>
  <option value="bk102">Midnight Rain</option>
  <option value="bk103">Maeve Ascendant</option>
</select>
</form>
<br/>
<p>Informacion sobre operacion en segundo plano con Ajax: <span style="color:brown;" id="txtInformacion"></span></p>
</body>
</html>

Gracias.

144
Toda la razón del mundo. Todo gira sobre qué es lo queremos hacer, de qué manera, cómo sería más cómodo para el usuario y más intuitivo.

Saludos :)

145
Tranquilo, ya verás que dentro de poco podrás programar con los ojos cerrados (bueno, cerrados, cerrados, no sé, pero seguro que se te disiparán muchas de las dudas que te surgen ahora).

Saludos :)

146
Buenos días, cigarzonl.

Normalmente los métodos que establecen valores a los atributos únicamente hacen esto. Es decir, deberías establecer los métodos así:

Código: [Seleccionar]
public void setRueda (String valorRueda) {
        rueda = valorRueda;
    }

y no así:

Código: [Seleccionar]
public void setRueda (String valorRueda) {
        rueda = valorRueda;
        System.out.println("el tamanio de la rueda quedo asignado  "  + valorRueda + "  milimetros ");
    }

Recuerda, cada método tiene su cometido.

No estoy muy seguro si has entendido bien lo que requerían los apartados a) y b) del ejercicio. El método " comprobarDimensiones" te debería quedar así:

Código: [Seleccionar]
public void comprobarDimensiones(){
        if(diametro > 1.4){
            System.out.println("La rueda es para un vehículo grande");
        }else if(diametro <= 1.4 && diametro > 0.8){
            System.out.println("La rueda es para un vehículo mediano");
        }else if((diametro > 1.4 && grosor < 0.8) || (diametro <= 1.4 && diametro > 0.8 && grosor < 0.25)){
            System.out.println("El grosor para esta rueda es inferior al recomendado.");
        }else{
            System.out.println("La rueda es para un vehículo pequeño.");
        }
    }

Saludos :)

147
Perfecto. De eso se trata. Esperamos tus nuevos ejericicos :)

148
Buenas, DRANXZ88.

El ejercicio está hecho correctamente. Te quería felicitar tanto por este ejercicio como por haber acabado el curso. Veo que estás corregiendo compañeros que van por entregas anteriores, cosa que me alegra mucho :)

Sólo decirte que no has contestado a la pregunta: ¿Entre qué clases existe una relación que se asemeja a la herencia múltiple?

Saludos y animarte a empezar el siguiente curso :)

149
Hola, cigarzonl.

El ejercicio está bien. Sólo comentarte que cuando definas un constructor del objeto habitualmente los valores de los atributos son: si es String "", si es int 0, si es boolean false. No es una práctica obligatoria, pera se suele hacer así.

Saludos.

150
Buenas, cigarzonl.

En la clase te faltan los métodos los métodos para poder establecer y obtener los valores de los atributos.

Saludos.

151
Buenos días, César.

Gracias por corregirme el ejercicio tú también :)

Al principio no había entendido muy bien el cometido del ejercicio. Después de la aclaración del compañero Pedro lo comprendí.

Sí, tienes razón, en tema de diseño soy un nefasto. A parte de que nunca me ha gustado el tema del diseño, porque nunca te queda como quieres y además en cada navegador o dispositivo se ve diferente (menos mal que existen liberías de estilo como bootstrap), me gusta mucho más el campo de la programación (la parte de la funcionalidad del código).

El espacio entre el nombre del archivo y las paréntesis que abre es por descuido, por nada más.

Saludos :)

152
Buenos días, DRANXZ88.

Has cumplido con el cometido del ejercicio. Has declarado la clase "Legislador" como abstracta y has sobreescrito el método abstracto "getCamaraEnQueTrabaja" en las subclases. Has utilizado bien el polimorfismo en la clase "EjerciciosCu00695b".

Felicidades.

Saludos:)

153
Buenos días, Pedro.

Gracias por corregirme el ejercicio y por tu tiempo. Tienes razón, no funciona porque cuando se lee la instrucción aún tiene valor "1". Tenía que haberlo visto :)

Saludos.

154
Buenas, DRANXZ88.

Creo que has hecho un ejercicio estupendo y has entendido bien el concepto de sobreescriptura de los métodos.

Saludos :)

PD: Si no quieres utilizar la conversión de lo que devuelve el método "getDimensionPrincipal" mediante las instrucciones:

Código: [Seleccionar]
Double.valueOf(getDimensionPrincipal()

podías haber declarado dicho método como un tipo Double en la superclase "Figura" así:

Clase Figura:

Código: [Seleccionar]
public class Figura {

    protected Double dimensionPrincipal;

    public Figura() {
    }

    public Figura(Double dimensionPrincipal) {
        this.dimensionPrincipal = dimensionPrincipal;
    }

    public Double getDimensionPrincipal() {
        return dimensionPrincipal;
    }

    public void setDimensionPrincipal(Double dimensionPrincipal) {
        this.dimensionPrincipal = dimensionPrincipal;
    }

}

Y las otras dos clases así:

Clase Circulo:

Código: [Seleccionar]
public class Circulo extends Figura {

    public Circulo() {
    }

    public Circulo(double dimensionPrincipal) {
        super(dimensionPrincipal);
    }

    public double CalcularArea() {
        double areaCirculo;
        double dimension;
        dimension = getDimensionPrincipal();
        areaCirculo = Math.PI * Math.sqrt(dimension);
        return areaCirculo;
    }

    public boolean equals(Object obj) {
        if (obj instanceof Circulo) {
            Circulo tmpCirculo = (Circulo) obj;
            if (super.getDimensionPrincipal().equals(tmpCirculo.getDimensionPrincipal())) {
                return true;
            } else {
                return false;
            }

        } else {
            return false;
        }
    }
}

Clase Cuadrado:

Código: [Seleccionar]
public class Cuadrado extends Figura {

    public Cuadrado() {
    }

    public Cuadrado(double dimensionPrincipal) {
        super(dimensionPrincipal);
    }

    public double calcularArea() {
        double areaCuadrado;
        double dimension;
        dimension = getDimensionPrincipal();
        areaCuadrado = dimension * dimension;
        return areaCuadrado;
    }

    public boolean equals(Object obj) {
        if (obj instanceof Cuadrado) {
            Cuadrado tmpCuadrado = (Cuadrado) obj;
            if (super.getDimensionPrincipal().equals(tmpCuadrado.getDimensionPrincipal())) {
                return true;
            } else {
                return false;
            }

        } else {
            return false;
        }
    }
}

Es simplemente otra manera de hacer el ejercicio, pero quiero recalcar, has hecho el ejercicio correctamente.


155
Buenas tardes.

A continuación expongo una posible solución de los ejercicios de la entrega CU01209F del curso Ajax desde cero.

Citar
EJERCICIO Nº1                                                                                               

Crea un archivo denominado respuesta.php que contenga el código necesario para devolver lo siguiente:

a) Si se recibe el parámetro nombre con valor alberto, la frase “Alberto está realizando un curso de programación”.

b) Si se recibe el parámetro nombre con valor juan, la frase “Juan está realizando prácticas de ingeniería de sistemas”

c) Si el parámetro viene vacío o no existe, la frase “No hay información. Revise la petición”.

En un archivo denominado peticion.html crea una casilla de texto que pida un nombre y un botón chequear, de modo que al pulsarse el botón chequear se produzca una petición vía Ajax para obtener los resultados contenidos en el archivo respuesta.php. Dichos resultados deberán mostrarse en una ventana de alerta JavaScript cada vez que se pulse el botón chequear.

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo Ajax</title>
<script type="text/javascript">

var xmlhttp = new XMLHttpRequest();

function mostrarMensaje(){
var nombre = document.getElementById('nombre').value;

xmlhttp.open("GET", "CU01209F(01).php?nombre="+nombre);
xmlhttp.send();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.responseText);
}
}

}

</script>
</head>
<body>
<form action="">
Nombre: <input type="text" name="nombre" id="nombre"><br>
<input type="button" value="chequear" onclick="mostrarMensaje();">
</form>
</body>
</html>

Código PHP:

Código: [Seleccionar]
<?php 

$alberto "Alberto está realizando un curso de programación";
$juan "Juan está realizando prácticas de ingeniería de sistemas";
$porDefinicion "No hay información. Revise la petición";

$nombre $_REQUEST['nombre'];

if($nombre=="alberto"){
echo $alberto;
}else if($nombre=="juan"){
echo $juan;
}else{
echo $porDefinicion;
}

?>


Me surge una duda: ¿Por qué así funciona?:

Código: [Seleccionar]
<script type="text/javascript">

var xmlhttp = new XMLHttpRequest();

function mostrarMensaje(){
var nombre = document.getElementById('nombre').value;

xmlhttp.open("GET", "CU01209F(01).php?nombre="+nombre);
xmlhttp.send();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.responseText);
}
}

}

</script>

y así no:

Código: [Seleccionar]
<script type="text/javascript">

var xmlhttp = new XMLHttpRequest();

function mostrarMensaje(){
var nombre = document.getElementById('nombre').value;

xmlhttp.open("GET", "CU01209F(01).php?nombre="+nombre);
xmlhttp.send();


if(xmlhttp.readyState==4 && xmlhttp.status==200){
alert(xmlhttp.responseText);
}


}

</script>

¿Por qué es obligatoria utilizar la propiedad "onreadystatechange" del objeto "XMLHttpRequest"? ¿No basta sólo con tal de utilizar una de las propiedades: "readyState" o "status"?

Y otra cuestión: ¿cómo van ordenadas las sentencias en el uso del objeto "XMLHttpRequest"? Yo creo que primero se tiene que abrir con: "XMLHttpRequest.open()", luego enviarlo con: "XMLHttpRequest.send()" y luego ya invocar las demás propiedades, como por ejemplo, "XMLHttpRequest.responseText()". Pero en los ejemplos del curso, por lo menos hasta la entrega CU01209F, los métodos "open()" y "send()" aparacen al final del script.

Citar
EJERCICIO Nº2                                                                                               

Crea un archivo denominado respuesta1.txt que contenga varias líneas de texto y súbelo al servidor. Haz lo mismo para los archivos respuesta2.txt y respuesta3.txt. A continuación crea un archivo html donde usando Ajax y tres botones denominados “Ver archivo 1”, “Ver archivo 2” y “Ver archivo 3” puedas visualizar el contenido de cada archivo en un div preparado para ello encima del cual aparecerá “Contenido del archivo solicitado es:”.

Código HTML:

Código: [Seleccionar]
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Ejemplo Ajax</title>
<script type="text/javascript">

var xmlhttp = new XMLHttpRequest();

function mostrarTexto(texto){
xmlhttp.open("GET", texto);
xmlhttp.send();

xmlhttp.onreadystatechange = function(){
if(xmlhttp.readyState == 4 && xmlhttp.status == 200){
var nodo = document.getElementById('contenedor');
nodo.innerHTML = xmlhttp.responseText;
}
}

}


</script>
</head>
<body style="text-align: center;">
<button onclick="mostrarTexto('respuesta1.txt');">Ver archivo 1</button>
<button onclick="mostrarTexto('respuesta2.txt');">Ver archivo 2</button>
<button onclick="mostrarTexto('respuesta3.txt');">Ver archivo 3</button>
<h1>El contendio del archivo solicitado es:</h1>
<div id="contenedor"></div>
</body>
</html>

Los archivos "respuesta1.txt, respuesta2.txt y respuesta3.txt" tienen los siguientes contenidos:

respuesta1.txt

Citar
Hola
Esto es el contendio del
primer texto

respuesta2.txt

Citar
Hola
Esto es el contendio del
segundo texto

respuesta3.txt

Citar
Hola
Esto es el contendio del
tercer texto


Gracias.

156
Tienes razón, no me había fijado que no utilizar métodos "void".

Personalmente, yo, del curso Java desde cero, aprendí que para cada propiedad se establecen dos métodos. Uno "void", donde se modifica el valor de la propiedad y otro de algún tipo (string, double, char, float, etc.) donde se recupera dicho valor. En todos los ejemplos se ha utilizado esta técnica.

Saludos :)

157
Buenas, DRANXZ88.

Has sobreescrito bien el método en la subclase. Sólo comentarte que el ejercicio decía que el método "obtenerSalarioBase" tiene que ser de tipo "double".

Saludos :)

158
Buenas, MasterOfWaves.

Tienes bien resuelto el ejercicio. No sé si haces bien en poner la sentencia "return" en un método void, puesto que dicho método no es una función sino un procedimiento. Sólo las funciones devuelven valores.

Saludos :)

159
Buenas, DRANXZ88.

Te ocurre esto porque en la clase "EnvioDeProductos" recorres los objetos en sí y no sus propiedades. Deberías recorrer cada uno de los métodos que muestran los datos de de cada objeto.

Te envío una muestra como archivo adjunto.

Saludos :)

160
Hola, simchgab.

Te falta el segundo ejercicio de la entrega CU00842B del curso PHP desde cero.

Saludos.

Páginas: 1 ... 3 4 5 6 7 [8] 9 10 11 12 13 ... 30

Sobre la educación, sólo puedo decir que es el tema más importante en el que nosotros, como pueblo, debemos involucrarnos.

Abraham Lincoln (1808-1865) Presidente estadounidense.

aprenderaprogramar.com: Desde 2006 comprometidos con la didáctica y divulgación de la programación

Preguntas y respuestas

¿Cómo establecer o cambiar la imagen asociada (avatar) de usuario?
  1. Inicia sesión con tu nombre de usuario y contraseña.
  2. Pulsa en perfil --> perfil del foro
  3. Elige la imagen personalizada que quieras usar. Puedes escogerla de una galería de imágenes o subirla desde tu ordenador.
  4. En la parte final de la página pulsa el botón "cambiar perfil".