Actualizar contenido de array en textarea y guardar nuevo valor en variable PHP sin recargar página.
Publicado por JBoY (1 intervención) el 15/04/2015 21:35:42
Buenos días compañeros,
A ver si podéis echarme un cable. Estoy peleando con un formulario para actualizar un array que se está mostrando dentro de un textarea, todo esto sin recargar la página. Es decir, tengo un textarea en el que se muestra el contenido de un array y en el que puedo escribir nuevo contenido que posteriormente quiero que se añada a ese mismo array al hacer click en el botón submit. Aquí el código HTML y PHP:
Como veis, dentro del textarea tengo el array $script, mostrando su contenido al usuario. Al escribir o modificar el contenido mostrado dentro del textarea y pulsar el botón execscript, esos cambios deberían salvarse en $script. Supongo que para ello debo utilizar AJAX, en concreto estoy intentándolo con JSon pero me es imposible ya que no domino del todo el lenguaje. Os dejo el código por si me podéis echar una manilla y así de paso aprendo como hacerlo correctamente para la próxima vez que me encuentre un caso similar:
Aquí el código AJAX:
Al clicar el botón, este código debería limpiar el valor antiguo del textarea y actualizar el contenido de la variable "script" con las modificaciones que el usuario hiciera en dicho textarea. Enviar la variable "script" a php y allí mostrarla ya modificada dentro del textarea.
Muchas gracias de antemano por vuestro tiempo y ayuda.
A ver si podéis echarme un cable. Estoy peleando con un formulario para actualizar un array que se está mostrando dentro de un textarea, todo esto sin recargar la página. Es decir, tengo un textarea en el que se muestra el contenido de un array y en el que puedo escribir nuevo contenido que posteriormente quiero que se añada a ese mismo array al hacer click en el botón submit. Aquí el código HTML y PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<form name="frmscript" onsubmit="return false;">
<?php
if($_POST){
$script = json_decode($_POST["script"]);
}
?>
<textarea class="ta_scripts" name="ta_scripts"><?php
foreach ($script as $script_launcher){
echo $script_launcher."\r\n";
}?></textarea><br><br>
<input type="button" name="execscript" value="Ejecuta el script" id="submit" onClick="addtext();" />
</form>
Como veis, dentro del textarea tengo el array $script, mostrando su contenido al usuario. Al escribir o modificar el contenido mostrado dentro del textarea y pulsar el botón execscript, esos cambios deberían salvarse en $script. Supongo que para ello debo utilizar AJAX, en concreto estoy intentándolo con JSon pero me es imposible ya que no domino del todo el lenguaje. Os dejo el código por si me podéis echar una manilla y así de paso aprendo como hacerlo correctamente para la próxima vez que me encuentre un caso similar:
Aquí el código AJAX:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function addtext() {
var script = document.frmscript.ta_scripts.value;
document.frmscript.ta_scripts.value = "";
document.frmscript.ta_scripts.value += script;
script = JSON.encode(script);
var miAjax = new Request({
url: "index4.php",
data: "script=" + script,
onSuccess: function(textoRespuesta){
$('resultado').set("html", textoRespuesta);
},
onFailure: function(){
$('resultado').set("html", "fallo en la conexión Ajax");
}
})
miAjax.send();
Al clicar el botón, este código debería limpiar el valor antiguo del textarea y actualizar el contenido de la variable "script" con las modificaciones que el usuario hiciera en dicho textarea. Enviar la variable "script" a php y allí mostrarla ya modificada dentro del textarea.
Muchas gracias de antemano por vuestro tiempo y ayuda.
Valora esta pregunta


0