self.location.href Problem in JS Funtion

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • self.location.href Problem in JS Funtion

    Hi.

    Ich habe eine JS-Funktion die mir aus allen feldern in meinem formular in einen assoziativen array macht.
    Und dann möchte ich eine php datei aufrufen mit dem array als argument.

    Wie ich das mache, muss ich auch noch rausfinden.
    Aber momentan kann ich netmals eine php Datei aus meiner funktion aufrufen.

    PHP-Code:
    function costumerAction (action)
    {
      var array = new Array(
    29);

      array[
    'costumernr']          = document.getElementsByName("customernr");
      array[
    'costumernrappend']      = document.getElementsByName("costumernrappend");
      array[
    'companyname']      = document.getElementsByName("companyname");
      array[
    'titleowner']          = document.getElementsByName("titleowner");
      array[
    'ownerfirstname']      = document.getElementsByName("firstname");
      array[
    'ownername']          = document.getElementsByName("name");
      array[
    'pricekey']          = document.getElementsByName("pricekey");
      array[
    'costumerstockorder']      = document.getElementsByName("costumerstockorder");
      array[
    'taxnr']          = document.getElementsByName("taxnr");
      array[
    'street']          = document.getElementsByName("street");
      array[
    'zipcode']         = document.getElementsByName("zipcode");
      array[
    'city']         = document.getElementsByName("city");
      array[
    'telephone']         = document.getElementsByName("telephone");
      array[
    'fax']             = document.getElementsByName("fax");
      array[
    'cellnumber']         = document.getElementsByName("cellnumber");
      array[
    'email']         = document.getElementsByName("email");
      array[
    'identitynr']         = document.getElementsByName("identitynr");
      array[
    'country']         = document.getElementsByName("country");
      array[
    'titlebuyer']         = document.getElementsByName("titlebuyer");
      array[
    'firstnamebuyer']     = document.getElementsByName("firstnamebuyer");
      array[
    'namebuyer']         = document.getElementsByName("namebuyer");
      array[
    'paymentterms']     = document.getElementsByName("paymentterms");
      array[
    'discount']         = document.getElementsByName("discount");
      array[
    'cashdiscount']     = document.getElementsByName("cashdiscount");
      array[
    'forwardingfreight']     = document.getElementsByName("forwardingfreight");
      array[
    'creditlimit']         = document.getElementsByName("creditlimit");
      array[
    'lastvisiting']     = document.getElementsByName("lastvisiting");
      array[
    'year']         = document.getElementsByName("year");
      array[
    'miscellaneous']     = document.getElementsByName("miscellaneous");

      
    self.location.href'myphpfile.php';

    Also, self.location.href= 'myphpfile.php' scheint nicht so zu klappen.
    Es kommt keine fehlermeldung. (Es passiert nichts)
    Aber habe durch alert geprüft, das er in die Funktion reingeht.

    Hab ich da einen denkfehler?
    greetz

  • #2
    Re: self.location.href Problem in JS Funtion

    Original geschrieben von p4cm4n
    Ich habe eine JS-Funktion die mir aus allen feldern in meinem formular in einen assoziativen array macht.
    Aus den Feldern, ja - und nicht etwa aus ihren Inhalten.
    Reichlich sinnfrei.


    Außerdem erhältst du durch die Zuweisungen keine Array-Elemente, sondern Objekteigenschaften.
    Also, self.location.href= 'myphpfile.php' scheint nicht so zu klappen.
    Es kommt keine fehlermeldung. (Es passiert nichts)
    Aber habe durch alert geprüft, das er in die Funktion reingeht.
    Und ein alert erst genau vor dieser Zeile kommt auch noch?

    Dass keine Fehlermeldung kommt, bezweifle ich.
    Weißt du, wo du danach Ausschau zu halten hast?
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      .. das ich mir den Inhalt nicht raussuche. weiss ich auch.
      soweit war ich auch noch nicht.

      Es geht mir erst ma darumm,
      wieso das: self.location.href= 'myphpfile.php'; nicht geht.

      habe alert vor und danach reingeamcht.

      ..Beides wird ausgeführt.
      Und in Mozillas's Java-Script Konsole wird nichts angezeigt.

      Weißt du, wo du danach Ausschau zu halten hast?
      nein

      Kommentar


      • #4
        Original geschrieben von p4cm4n
        Es geht mir erst ma darumm,
        wieso das: self.location.href= 'myphpfile.php'; nicht geht.
        Dann schmeiße alles andere aus der Funktion raus, den ganzen Kram mit den Formularfeldern - geht es dann?

        Geht nur location.href, ohne das self davor?
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          ..habe alles rausgeschmissen. geht nicht.
          jetzt steht das nur das da:

          PHP-Code:

          function costumerAction (action)
          {
            
          self.location.href'myphpfile.php';

          und in meiner html datei wird das per button so aufgerufen:

          PHP-Code:

          onClick
          ="costumerAction('new')" 
          .. hab auch ohne self versucht. auch mit document. geht alles nicht.
          .. das geht schon wenn ich onClick="myphpfile.php"
          direkt in meiner html seite reinschreibe.

          Aber in der Funktion, macht er mir das nicht.
          Versteh das nicht.

          EDIT: Hab auch javascript:costumerAction('new') auch versucht.

          Kommentar


          • #6
            mal das self. rausgehaun?

            Kommentar


            • #7
              yipp. macht er nit.

              Kommentar


              • #8
                erstmal heißt es onclick und nicht onClick..

                naja davon mal abgesehn..
                dann liegt der fehler wo anders
                geh doch mal in die javascript console vom firefox!
                da steht sicherlich was hilfreiches drin.

                Kommentar


                • #9
                  ne, ebendrumm.
                  wie schon mal geschrieben. steht nichts drinn.

                  er ruft mir die funktion ja auf. wenn ich davor und danach:

                  alert("Ich bin drinn");

                  reinschreibe, macht er mir das ja.

                  Kommentar


                  • #10
                    mach ma

                    onclick="javascript:location.href='myphpsite.php';"
                    macht der denn wenigstens das?!

                    Kommentar


                    • #11
                      .. das geht schon wenn ich onClick="myphpfile.php"
                      hab mich da falsch ausgedrückt. meinte onClick="self.location.href='myphp.php';"

                      .. das geht. deins auch. nur in der funktion net.

                      Kommentar


                      • #12
                        Hm ... könnte es sein, dass durch den Klick, der die Funktion aufruft, noch etwas anderes ausgelöst wird - Aufruf einer anderen Seite bei Nutzung auf einem Link, Absenden eines Formulars bei einem Button ...?

                        Falls nein, stell mal bitte ein auf's wesentliche reduziertes Online-Beispiel zur Verfügung.
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          jo, das wars vielen dank, hatte noch ein form ausserhalb. naja.
                          vielen dank.

                          dann noch ne frage, wenn ich mir jetzt die daten ordentlich von den input feldern geholt habe, und einen array habe.

                          wie gebe ich diesen am besten per getvariablen weiter?

                          jemand schon ma sowas gemacht?
                          greets

                          Kommentar


                          • #14
                            Original geschrieben von p4cm4n
                            dann noch ne frage, wenn ich mir jetzt die daten ordentlich von den input feldern geholt habe, und einen array habe.

                            wie gebe ich diesen am besten per getvariablen weiter?
                            Am einfachsten: In dem du nicht versuchst, die Funktionalität, die ein Formular sowieso schon bietet, per Javascript nachzubasteln - sondern ein Formular für Aufgaben nutzt, für die ein Formular vorgesehen ist.


                            Ansonsten: Wie ein Query-String mit GET-Parametern aussieht, ist dir sicher bekannt.
                            Arrays kann man in Schleifen durchlaufen.
                            Und URL-gerechte Kodierung der Daten sollte natürlich auch nicht vergessen werden.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar


                            • #15
                              .. ich arbeite objektorientiert..

                              Da muss ich alle felder nun mal in einem array speichern.
                              BeispieL:

                              PHP-Code:
                              public function searchCustomer($paramarray)
                              {
                                ....

                              Da ich eh sowieso für manche Sachen javascript brauche, hab ich mich entschieden das dann per java-script zu machen und net per php.
                              So das php fast nur mit den Objekten arbeitet.

                              Oder kann ich auch direkt an dem html einen assoziativen array machen.?

                              geht sowas wie <input type="text" name=customer['customer_id'] >?

                              naja. kann ja selber ausprobieren. aber mach das nicht aus spaß, sondern weil ich dachte das sowasnicht geht.

                              Kommentar

                              Lädt...
                              X