Avatar billede Greenland Nybegynder
07. september 2009 - 10:40 Der er 9 kommentarer og
1 løsning

submit form - ignorere resultat fra php fil

Hej,

Kan nogen sige mig om jeg kan ignorere det som mit php script returnerer når jeg submitter min form !

<form action="mitscript.php" name="myform">
    Search: <input name="query" type="text" /> <a href="java script: submitform()">Search</a>
</form>
<SCRIPT language="JavaScript">
function submitform()
{
  document.myform.submit();
}
</SCRIPT>

Mit problem er at der kommer en blank side frem når jeg submitter, istedet vil jeg stå på samme side som jeg submitter fra, og selv have kontrol på hvad der returneres fra php scriptet(evt. checke om opgaven i php scriptet gik godt eller ej)

mvh

greenland
Avatar billede olebole Juniormester
07. september 2009 - 15:53 #1
<ole>

Det retter du da vel i din PHP-fil  =)

/mvh
</bole>
Avatar billede webweaver Praktikant
07. september 2009 - 20:06 #2
Det er jo bare at have samme sti i din action, som den hvor du har selve formen. Så submitter den og du havner på samme side som hvor du klikkede.

Du skal tilpasse din PHP til dette.
Jeg kan ikke se hvorfor du vil have en PHP kode som skal ignoreres.
Det er ikke logisk. Så fjern den?

Det er så en anden ting er hvis du leder efter en løsning, hvor at den udfører noget PHP hvis søgningen finder noget, og intet gør hvis den ikke finder noget. Er det hvad du mener?
Avatar billede Greenland Nybegynder
11. september 2009 - 10:15 #3
Hej,

Det jeg vil er at submitte formen som kalder mit php script. Php scriptet sender en mail til et givet sted.

Jeg skal så på min webside skrive at mailen er sent, uden at flytte væk fra stedet jeg submittede, og der skal ellers ikke ske nogen ændring på siden


hvad er måden at gøre det på ?
Avatar billede olebole Juniormester
11. september 2009 - 13:58 #4
Når man submitter en form, sker der et sideskift. Måske, du skal have gang i noget Ajax, som jo kan kalde serveren 'i baggrunden'. Jeg er på arbejde og har ikke tid til et eksempel lige nu  =)
Avatar billede webweaver Praktikant
11. september 2009 - 16:19 #5
Well hvis jeg forstår det korrekt, så er det simpelt nok.
Når du klikker på submit, sender den dig et sted hen og sender en mail .. Du ønsker at du bliver på samme side, og giver en besked til brugeren om at mailen er sendt. Er det forstået rigtigt?

Som jeg skrev længere oppe, ændrer du adressen i action til samme sti som du har formen i. Altså samme sted som du i forvejen er.
Du flytter også dit PHP script derover på den side. Så du har det hele samme sted. Det kan ikke lade sig gøre hvis der slet ikke må refreshes eller redirectes. Det er hvad en form action gør jo. Ellers skal du have gang i noget andet ala Ajax som olebole evt. nævner.

Vil meget gerne hjælpe dig når jeg forstår 100% hvad det er du vil.
Jeg kan dog kun hjælpe dig med PHP delen og ikke Ajax.
Avatar billede Greenland Nybegynder
14. september 2009 - 15:59 #6
Ja det er rigtigt forstået, jeg skal forblive på siden.

Mit problem er at siden jeg skal lave dett på ligger et sted, og kører asp.net og mit script ligger på en php server....


Jeg må evt. godtage at den flytter til en blank side efter submit....
Avatar billede webweaver Praktikant
14. september 2009 - 16:29 #7
Ahh så bliver du naturligvis nødt til at omprogrammere dit script til ASP hvis det skal ligge samme sted. Ellers skal du lade den sende dig til scriptet i den anden fil, hvorefter den sender dig tilbage igen med en redirect med det samme sammen med en besked, som kunne være en variabel i url.
Avatar billede webweaver Praktikant
14. september 2009 - 16:30 #8
Under alle omstændigheder burde siden ikke være blank nødvendigvis.
Du kan lade den sende dig til scriptet som nu, og så lave "beskeden der".
Avatar billede Greenland Nybegynder
11. oktober 2009 - 22:51 #9
svar
Avatar billede Greenland Nybegynder
11. oktober 2009 - 22:58 #10
Hej igen, blot til orientering:

Har brugt xmlhttprequest til at løse ovenstående problem, og det funker:-)

var navn = document.getElementById("navn");
var s ="mitscript.php?navn="+navn.value;

obj=new XMLHttpRequest();
obj.open("POST",s,false);
obj.send('');

if(obj.statusText){
            var i = obj.responseText.indexOf("etnavn");
            if(i >-1){
                document.getElementById('divMsg').innerHTML = "etnavn fundet";
       
            }else{
              document.getElementById('divMsg').innerHTML = "etnavn ikke fundet";               
          };



Synes det er vigtigt i at "dele" løsninger istedet for at sige: "jeg fandt selv ud af det,lukker spørgsmål"     

Greenland
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

IT-JOB