Avatar billede weblance Nybegynder
27. februar 2011 - 20:14 Der er 6 kommentarer og
1 løsning

Hjælp ønskes til at lave et php/ajax script.

Hej

Jeg har en beregningsformular hvor man udfylder et alm. formular felt med et tal. Når man klikker på submit knappen sker der en udreging:

$udregning = floor(tal-fra-formular / et-tal-fra-databasen)

Det fungerer udmærket, men jeg kunne godt tænke mig at få det lavet sådan at når feltet bliver udfyldt, bliver brugeren præsenteret for to valg inden der klikkes på submit knappen:

floor(tal-fra-formular / et-tal-fra-databasen)
og
ceil(tal-fra-formular / et-tal-fra-databasen)

Det skal nok være noget ajax, men det er jeg ikke særlig god til, så jeg håber at i eksperter kan hjælpe mig.

På forhånd tak

/Carl
Avatar billede intenz Novice
27. februar 2011 - 20:38 #1
Det lyder som overkill for at dividere to tal med hinanden.

Hvad skal de bruges til, hvad er tallet fra databasen?
Avatar billede weblance Nybegynder
27. februar 2011 - 21:04 #2
Det skal bruges til at beregne nogle solcellepaneler ud. Brugeren skal indtaste størrelsen på solcelleanlægget og udregningen skal dividere dette tal med maksimal effekt på et solcellepanel, for at regne ud hvor mange solcellepaneler der skal anvendes. Dette tal hentes fra databasen, og kan variere.

Eksempel:

Solpaneler er på f.eks. 190W (tallet ligger i databasen)
Brugeren indtaster at den ønskede størrelse er 3500W.
Antal paneler = 3500 / 190 = 18,42.
Dette tal kan ikke anvendes da det skal gå lige op i 190. Her er det jeg vil give brugeren mulighed for at vælge 18 paneler (3420W) eller 19 paneler (3610W) eller intet valg hvis det går lige op.

Jeg kan sagtens lave det i php som regner det ud og giver valget på den næste side. Men for at lave det mere brugervenligt ønsker jeg at få det lavet sådan at der f.eks. kunne komme en lille popup med de to valg med radiobuttons. Popup'en kunne evt komme når brugeren klikker på det næste felt eller når der klikkes på submit.
Avatar billede tjens Nybegynder
27. februar 2011 - 23:02 #3
Her er en lille Ajax demo: http://tjens.dk/eksperten/php/AjaxPostForm932527.html
Højreklik på siden for at se javascriptet.

Denne lille php-side bliver kaldt ved klik på Send:
<?php
header ("content-type: text/xml");

echo "<reply>";
echo 'You typed ' . $_POST["firstname"] . ' ' . $_POST['lastname'] . ' as name' ;
echo "</reply>";

?>
Avatar billede teknikeren Nybegynder
07. marts 2011 - 14:55 #4
Hvis jeg var dig ville jeg tage et kig på jQuery. Det er et javascript lib, som sparer dig for alt den overflødige kodning som følger med. Oven i købet klarer jQuery også cross-browser kompatibilitet for dig.

Mht til Ajax ville jeg bruge jQuery.ajax().

http://api.jquery.com/jQuery.ajax/

Et hurtigt eksempel:

$('input[name="felt_brugeren_skriver_i"]').change(function(){
var tal_fra_formular = $(this).val();

  $.ajax({
url: "results.php",
type: 'GET',
data: tal_fra_formular,

success: function(returneret_fra_results) {
$('div#div_tag_hvor_du_vil_vise_valgmuligheder').html(returneret_fra_results);
}


});

});


og på din results.php ville du bruge $_GET['felt_brugeren_skriver_i']; som variabel fra brugerens indtastning, og lade den echo'e 2 radiobuttons mellem <reply> tags'ne, som tjens skriver.

Koden virker således:
Brugeren skriver i feltet -> Ajax sender feltets værdi($(this).val()) til results.php -> results.php modtager feltets værdi -> results echo'er 2 radiobuttons, så de kan vælge mellem de to muligheder (ceil eller floor) -> Ajax modtager de to radio buttons, og sætter dem ind
<div id="div_tag_hvor_du_vil_vise_valgmuligheder">her</div>
så brugeren kan se dem.
Avatar billede weblance Nybegynder
08. marts 2011 - 22:35 #5
Undskyld det sene sbar- Jeg har haft meget travlt på arbejde, så jeg har ikke rigtig fået tjekke mine mails fra exp.dk.

Det ser rigtig fint ud, og jeg har arbejdet en del med jQuery før. Jeg vil prøve det af, og så vender jeg tilbage til jer.
Avatar billede weblance Nybegynder
16. juni 2011 - 21:05 #6
Hej med jer. Smid et svar begge to så får i point.
Avatar billede weblance Nybegynder
26. september 2011 - 18:06 #7
Lukker
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