Avatar billede rotco Juniormester
13. oktober 2010 - 15:46 Der er 4 kommentarer og
1 løsning

Submit uden refresh !!

Hey,

Jeg er lidt i tvivl om det er ajax jeg er ude i, men jeg har et "problem"..

Jeg har et script, som jeg har lavet, og det kan IKKE gøres i javascript, så derfor er det lidt mere avanceret og virker unødvendig i forhold til hvad javascript ville kunne gøre, men faktum er at det ikke kan gøres i javascript pga. noget wysiwyg som allerede ér indbygget nu.

Derfor har jeg lavet følgende:

<input type="submit" name="tael" value="Tæl Ord">
<?php
if($_POST[tael]){
$tekst = "$_POST[artikel]";
$nytekst = strip_tags($tekst);
$words = explode(" ",$nytekst);
$num = count($words);
echo "Artiklen indeholder $num ord";
}
?>

Når jeg nu klikker på "Tæl ord", så tæller den ganske rigtigt ordene for artiklen, og giver også det rigtige tal, men.. Den refresher samtidig siden, hvilket jeg synes er ret irriterende, da siden er lidt scrollet ned, og når man så tæller ordene, så skal man atter engang scrolle ned, og jeg kan sagtens finde på at tælle ordene 5-6 gange, og det er spild af tid at den så refresher.

Kan jeg på nogen måde få det gjort uden refresh, med den kode? Så den blot opdaterer "antal ord", uden at hele siden skal refreshes også?

Mange point til et svar, da det er meget vigtigt :-)
Avatar billede keysersoze Guru
13. oktober 2010 - 16:04 #1
uden javascript er du på den - vil du kalde noget PHP uden refresh skal du ud i noget AJAX, fx vha jQuery. Du kunne også lave din tæller clientside men også det ville skulle ske vha javascript.
Avatar billede rotco Juniormester
13. oktober 2010 - 16:30 #2
Tak for din kommentar.

Du kan se hvorfor jeg ikke kan bruge javascript her: http://www.eksperten.dk/spm/920436 (hvis du vil).

Af den grund måtte jeg tænke "ud af boksen" og finde en omvej, som jeg så har gjort nu, men det er bare sk*ide irriterende at siden også refresher.

Jeg er desværre ikke en ørn til hverken ajax eller javascript, så derfor kan jeg ikke modificere min wysiwyg selv.

Hmm..
Avatar billede nubx Nybegynder
13. oktober 2010 - 19:45 #3
Jeg ville gøre det med jquery, og så sende dataen i url'len.

function loadcontent(elementSelector) {

var formData = document.formNavn....

$(""+elementSelector+"").load("/dit-link.php?din-form-data="+formData);
}
Avatar billede nubx Nybegynder
13. oktober 2010 - 19:51 #4
Og så kalder du den ved at skrive

<div id="idNavn"></div>


<input type="button" onClick="loadcontent('#idNavn');" >
Avatar billede tjens Nybegynder
13. oktober 2010 - 20:21 #5
Dit problem i forrige spørgsmål var, at du ikke ved hvordan dit wysiwyg framework gemmer sine data i javascript.

Hvis du vil bruge PHP via ajax får du samme problem, da Javascript skal aflæse teksten og sende den til PHP som et ajax-kald.



Kan du ikke vise din samlede <form> her ?
Der må være noget onclick eller onsubmit, der flytter teksten fra wywiwyg editor til textarea, gemt i formen.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester