Re: Probleme mit dem Datei Feld - baseportal Forum - Web-Anwendungen einfach, schnell, leistungsfähig!
baseportal
English - Deutsch "Es gibt keine dummen Fragen - jeder hat einmal angefangen"

 baseportal-ForumDie aktuellsten 10, 30, 50, 100 Einträge anzeigen.  

 
 Ausgewählter Eintrag: Zur Liste 
    Beitrag von hempelr (1976 Beiträge) am Montag, 14.Juli.2003, 10:49.
    Re: Probleme mit dem Datei Feld

      hallo, mk
      so richtig versteh ich nicht, was du erreichen willst, aber ich schreib einfach mal, wie ich das in eigenen Forms mit den Dateifeldern mache.
      Wenn kein Bild im Datensatz ist, schreibt er ja auch nichts bei Bildname hin. Der kleine "Schönheitsfehler", dass "Datei behalten" beim Ändern checked ist ist ja eigentlich eine logische Variante - es soll das was im Dateifeld momentan drin ist, (also auch wenns nichts ist) behalten werden.
      Hast du das Javascript von Christoph mit ins Dateifeld eingebaut? - das macht dann bei Änderungen entsprechend die _filec_feld checked, wie es situationsbedingt ist.
      Hier mal ein paar Codeausschnitte aus den von mir gebauten eigenen Formularen:
      ----schnipp
      wenn Neuanlage von DS :
      $feld1_datei=<<EOF;
          <input type=radio name="_filec_bild=" value=1> Keine Datei
          <input type=radio name="_filec_bild=" value=2 checked> Neue Datei:<br>
      EOF
      
      ....
      wenn Ändern von vorh. DS:
      $feld1_datei=<<EOF;
         <input type=radio name="_filec_bild=" value=0 checked> Datei behalten ($f_bild)
         <input type=radio name="_filec_bild=" value=1> Keine Datei 
         <input type=radio name="_filec_bild=" value=2> Neue Datei <br>
      EOF
      
      ....
      und dann im Formular (unbedingt die Reihenfolge einhalten, sonst gehts nicht)
      out<<EOF;
      ....
        <tr>       <td valign="top" colspan=4 class=klein>       <span class=dunkel>Bild: <br>       $feld1_datei</span>       </td>   </tr>   <tr>       <td class=klein> </td>       <td colspan=4 class=klein>       <input type=file name="bild:=" size=30 maxlength=15000 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;"></input>       </td>   </tr>
      ...
      EOF
      
      ---- schnapp
      Das JS im File-Feld setzt das Checked auf true im Radiofeld von _filec_feld value=2 wenn der das Dateifeld den Focus erhält (durch Anklicken des "Durchsuchen"-Buttons - also immer in dem Formularfeld, das vor dem Dateifeld steht mit dem value=2, weil dieser Wert das Speichern der Datei auslöst - value=1 würde das Löschen der Datei berwirken - 0 macht nix mit der Datei - deswegen auch die Reihenfolge der _filec_feld-Radiobuttons und des anschließenden Dateifeldes einhalten)
      Das ein Leerzeichen im Dateifeld abgespeichert wird, kann man m.E. nicht verhindern, es ist also immer nach Neuanlage eines DS mit Dateifeld(ern) in diesen ein Space drin. Kannst dann nur das Space substituieren und dann die Ausgabe bauen (hier wird im Beispiel entweder das Bild angezeigt oder der Text "Kein Bild zugewiesen"):
      ....
      $f_bild=~s/\s//; 
      $a_f_bild ="<img src=/files/$bild width=$a_bild_breite>" if $f_bild ne "";
      $a_f_bild ="<span class=grau>Kein Bild zugewiesen</span>" if $f_bild eq "";
      
      ....
      Hoffe, es hilft dir etwas weiter
      Ruben


    Antworten

 Alle Einträge zum Thema: Zur Liste 
    Beitrag von mk (966 Beiträge) am Samstag, 12.Juli.2003, 18:08.
    Probleme mit dem Datei Feld

      Ich hab ein Formular wo auch ein Datei upload gemacht werden kann,
      aber nicht muß.
      <input name="Bild:=" type="file" size="55">
      wenn nun nichts eingetragen wird, wird von baseportal doch die kennung gesetzt das etwas eingetragen wurde.
      
      Wie dieser Fehler bei der Ausgabe beseitigt werden kann weis ich schon,
      aber wie bekommt man dies schon bei der Eingabe richtig hin ?

      noch ein Problem:
      Innerhalb von baseportal kann in der Datenbank nicht mehr gesucht werden, wenn 2 Dateifelder auf suchen gestellt sind !!!!

     Antworten

    Beitrag von mk (966 Beiträge) am Sonntag, 13.Juli.2003, 20:29.
    Re: Probleme mit dem Datei Feld

      im Änderungsformular wollte ich es so versuchen:

      Ich hab versucht dies so wie bei den radio Feldern hinzubekommen.
      nur geht es noch nicht ganz.

      $csBild=$Bild?" checked":""; # diese Zeile bringt unten das richtige Ergebnis
      $csBild2=$Bild?" checked":""; # nur wie muß diese Zeile aussehen ??
      

      <input type=radio name="_filec_Bild=" value=0 $csBild>Datei behalten: $Bild
      <input type=radio name="_filec_Bild=" value=1 $csBild2> Keine Datei 
      <input type=radio name="_filec_Bild=" value=2> Neue Datei:<br>
      

     Antworten

    Beitrag von hempelr (1976 Beiträge) am Montag, 14.Juli.2003, 10:49.
    Re: Probleme mit dem Datei Feld

      hallo, mk
      so richtig versteh ich nicht, was du erreichen willst, aber ich schreib einfach mal, wie ich das in eigenen Forms mit den Dateifeldern mache.
      Wenn kein Bild im Datensatz ist, schreibt er ja auch nichts bei Bildname hin. Der kleine "Schönheitsfehler", dass "Datei behalten" beim Ändern checked ist ist ja eigentlich eine logische Variante - es soll das was im Dateifeld momentan drin ist, (also auch wenns nichts ist) behalten werden.
      Hast du das Javascript von Christoph mit ins Dateifeld eingebaut? - das macht dann bei Änderungen entsprechend die _filec_feld checked, wie es situationsbedingt ist.
      Hier mal ein paar Codeausschnitte aus den von mir gebauten eigenen Formularen:
      ----schnipp
      wenn Neuanlage von DS :
      $feld1_datei=<<EOF;
          <input type=radio name="_filec_bild=" value=1> Keine Datei
          <input type=radio name="_filec_bild=" value=2 checked> Neue Datei:<br>
      EOF
      
      ....
      wenn Ändern von vorh. DS:
      $feld1_datei=<<EOF;
         <input type=radio name="_filec_bild=" value=0 checked> Datei behalten ($f_bild)
         <input type=radio name="_filec_bild=" value=1> Keine Datei 
         <input type=radio name="_filec_bild=" value=2> Neue Datei <br>
      EOF
      
      ....
      und dann im Formular (unbedingt die Reihenfolge einhalten, sonst gehts nicht)
      out<<EOF;
      ....
        <tr>       <td valign="top" colspan=4 class=klein>       <span class=dunkel>Bild: <br>       $feld1_datei</span>       </td>   </tr>   <tr>       <td class=klein> </td>       <td colspan=4 class=klein>       <input type=file name="bild:=" size=30 maxlength=15000 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;"></input>       </td>   </tr>
      ...
      EOF
      
      ---- schnapp
      Das JS im File-Feld setzt das Checked auf true im Radiofeld von _filec_feld value=2 wenn der das Dateifeld den Focus erhält (durch Anklicken des "Durchsuchen"-Buttons - also immer in dem Formularfeld, das vor dem Dateifeld steht mit dem value=2, weil dieser Wert das Speichern der Datei auslöst - value=1 würde das Löschen der Datei berwirken - 0 macht nix mit der Datei - deswegen auch die Reihenfolge der _filec_feld-Radiobuttons und des anschließenden Dateifeldes einhalten)
      Das ein Leerzeichen im Dateifeld abgespeichert wird, kann man m.E. nicht verhindern, es ist also immer nach Neuanlage eines DS mit Dateifeld(ern) in diesen ein Space drin. Kannst dann nur das Space substituieren und dann die Ausgabe bauen (hier wird im Beispiel entweder das Bild angezeigt oder der Text "Kein Bild zugewiesen"):
      ....
      $f_bild=~s/\s//; 
      $a_f_bild ="<img src=/files/$bild width=$a_bild_breite>" if $f_bild ne "";
      $a_f_bild ="<span class=grau>Kein Bild zugewiesen</span>" if $f_bild eq "";
      
      ....
      Hoffe, es hilft dir etwas weiter
      Ruben

     Antworten

    Beitrag von mk (966 Beiträge) am Montag, 14.Juli.2003, 11:06.
    Re: Probleme mit dem Datei Feld

      inzwischen hab ich auch die Ersteigabe gelöst und bin kurz davor auch das Änderungsformular zu lösen.

      ich verstehe nur diese Zeile nicht:
      $csBild=$Bild?" checked":"";
      
      es ist jedenfalls eine wenn abfrage.
      nur wie muß das Gegenteil aussehen ?

     Antworten

    Beitrag von mk (966 Beiträge) am Montag, 14.Juli.2003, 16:55.
    Re: Probleme mit dem Datei Feld eins ist geschaft

      ich habs selber hin gekriegt.
      das Gegenteil sieht so aus:
      $csBild2=$Bild?"":" checked";
      

      Wies kpl aussieht muß ich noch aufarbeiten und stelle es dann hier rein.

      @cb Nur das mit suchen ist glaube was für dich. !!!
      

     Antworten

    Beitrag von mk (966 Beiträge) am Montag, 14.Juli.2003, 21:52.
    @cb Re: so geht es oder auch nicht

      so hab ich jetzt das mit dem file Feldtyp gelöst:
      Das Feld heißt: Bild

      Die Ersteigabe ist so:

      <input type=radio name="_filec_Bild=" value=1 checked> Keine Datei <input type=radio name="_filec_Bild=" value=2> Neue Datei:<br>
      <input name="Bild:=" type="file" size=90 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;">
      

      entgegen vom Standard ist hier "kein Bild" Standard, da es sonst später Probleme gibt, wenn kein Bild eingetragen wird.

      Im Änderungsformular:

      dies einfügen nachdem der Datensatz mit get geholt wurde.
      $csBild=$Bild?" checked":"";
      $csBild2=$Bild?"":" checked";
      

      und dies dann im Änderungsformular weiter unten einbinden:

      <input type=radio name="_filec_Bild=" value=0 $csBild>Datei behalten: $Bild 
      <input type=radio name="_filec_Bild=" value=1 $csBild2> Keine Datei 
      <input type=radio name="_filec_Bild=" value=2> Neue Datei:<br>
      <input name="Bild:=" type="file" size=30 onfocus="a=this.form.elements; for(i=0; i<a.length; i++) if(a[i].name==this.name) break; a[i-1].checked=1;">
      

      Leider gibt es Probleme wenn man intern einen Datensatz zum ändern öffnet oder neu anlegt.
      Es wird immer Bild vorhanden abgespeichert, auch wenn nichts eingetragen wurde.
      Hier ist glaube ich cb gefordert.

     Antworten


     
 Liste der Einträge von 36301 bis 36451:Einklappen Zur Eingabe 
Neueste Einträge << 10 | 9 | 8 | 7 | 6 | 5 | 4 | 3 | 2 | Neuere Einträge < Zur Eingabe  > Ältere Einträge | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 >> Älteste Einträge


Zurück zur Homepage

© baseportal.de. Alle Rechte vorbehalten. Nutzungsbedingungen



powered in 0.06s by baseportal.de
Erstellen Sie Ihre eigene Web-Datenbank - kostenlos!