Alles voor de beginnende webdesigner

Discussie in 'PC, Handheld & Algemeen' gestart door dutch_badass, 28 apr 2005.

Topicstatus:
Niet open voor verdere reacties.
  1. unXist

    unXist F5 hoer

    Berichten:
    707
    Leuk Bevonden:
    0
    scanlines als achtergrond 8)
     
  2. Tha_Rix

    Tha_Rix GM JUNK

    Berichten:
    419
    Leuk Bevonden:
    1
  3. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    Iemand bekend met javascript (Darkwing) ?

    Heb een stukje code, puur als test, maar wanneer ik er een functie van probeer te maken, voert hij de functie niet uit. Ligt het soms aan het aanroepen of verwerken van de functie?

    Heb er het een en ander mee geprutst en uiteindelijk error-loze code gekregen, maar nog geen effectief resultaat helaas.

    http://www.vincentg.nl/tmp/

    Code:
    <div id="container" class="container">
    
    	<script language="javascript" type="text/javascript">
    		function changeColor(id)
    		{	
    			if (document.getElementById('container').style.border == '1px dashed #FFFFFF') {
    				document.getElementById('container').style.border='1px dashed #350000';
    			} else {
    				document.getElementById('container').style.border='1px dashed #FFFFFF';
    			}
    		}
    	</script>
    
    	<h1>VincentG.nl</h1>
    	<br />
    	<h2>Even tijdelijk wat anders. :)</h2>
    	<p />
    	<span title="Andere kleur" onclick="changeColor(1)" onmouseover="this.style.cursor='pointer';" onmouseout="this.style.cursor='';">Andere kleur?</span>
    
    </div>
     
    Laatst bewerkt: 20 feb 2006
  4. Darkwing

    Darkwing Active Member

    Berichten:
    6.510
    Leuk Bevonden:
    25
    Ik heb ff gestoeid met jouw code, en ik ben erachter waar het mis zit. Je moet geen hex-kleurwaardes gebruiken, maar rgb-kleurwaardes.
    Daar kwam ik achter toen ik een simpele alert aan de functie toevoegde om achter het euvel te komen:
    alert('document.getElementById('container').style.border');
    (erg handig die alerts bij debuggen van javascript!)

    De output hiervan was:

    1px dashed rgb(255, 255, 255)

    Oftewel: gebruik in plaats van #FFFFFF in je javascript rgb(255, 255, 255) - let wel op de spaties na elke komma, anders werkt het niet. Het gekke is dat het bij het veranderen van de kleur niet uitmaakt of je Hex of rgb gebruikt, alleen in de if-statement is het van belang.
    De werkende javascript-functie wordt dus:

    PHP:
    function changeColor(id) {    
        if (
    document.getElementById('container').style.border == '1px dashed rgb(255, 255, 255)') {
            
    document.getElementById('container').style.border='1px dashed #350000';
        } else {
            
    document.getElementById('container').style.border='1px dashed #FFFFFF';
        }
    }
    Ik heb de variabele id uit je functie weggelaten, aangezien die verder geen nut heeft. De functie roep je dus simpelweg aan met onclick="changeColor()".

    Hoop dat het duidelijk is zo :)
     
    Laatst bewerkt: 20 feb 2006
  5. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    Ben nu een aardig stapje verder, ware het niet dat Internet Explorer tegenwerkt.

    Een alert met single quotes resulteert in een script error, met dubbele quotes neemt ie de tekst letterlijk over ipv de waarde dus heb ik het zonder quotes, dus:
    alert(document.getElementById('container').style.border);

    Echter, output in IE is ook weer niet goed, omdat je dan krijgt:
    #ffffff 1px dashed
    De border wordt dus ook niet gewijzigd.

    Tevens een nadeel, je moet de style die je met de functie wilt wijzigen ook echt als style in de div zelf aangeven, want als je dat via css hebt, pakt ie op de eerste klik geen waarde.

    Maar ondanks dat kan getElementByID.. en this.style erg handig zijn.
     
  6. Tha_Rix

    Tha_Rix GM JUNK

    Berichten:
    419
    Leuk Bevonden:
    1
    je hoeft toch alleen de kleur te wijzigen??
    waarom doe je dan niet:

    blablabla.style.borderColor = #FFFFFF;

    ipv

    blablabla.style.border = 1px dashed #FFFFFF;
     
  7. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    Dan pakt ie hem niet goed.
    Output zijn in IE en FF vervolgens geheel wisselend (FF geeft 4x rgb waarde, IE geeft hex-waarde), waardoor het nog niet goed werkt en de code niet (veel) korter is.
     
  8. Black FoX

    Black FoX Active Member

    Berichten:
    201
    Leuk Bevonden:
    2
    CSS is een mooie taal, maar dat gedoe met IE en FireFox blijft een bitch. Dit bijvoorbeeld,

    PHP:
    <head>
    <
    style type="text/css">
    TABLE border-collapsecollapse; }
    TR    bordersolid 1px #000000; }
    </style>
    </
    head>
    wordt in FF goed weergegeven, maar in IE wordt dit volkomen genegeerd en worden tabelranden helemaal niet weergegeven :'-(
     
  9. Tha_Rix

    Tha_Rix GM JUNK

    Berichten:
    419
    Leuk Bevonden:
    1
    officieel kan je TR geen borders geven.. alleen de TABLE of de TD..
     
  10. Black FoX

    Black FoX Active Member

    Berichten:
    201
    Leuk Bevonden:
    2
    Ok, vandaar tnx :) Ik heb het nu opgelost door style=\"border-bottom:1px solid #999999\" in de <td > te zetten. Nu worden tabellen in zowel IE als FF hetzelfde weergegeven.
     
    Laatst bewerkt: 21 feb 2006
  11. Shcaap

    Shcaap Liev Gastje

    Berichten:
    2.443
    Leuk Bevonden:
    4
    en zometeen eens de w3c CSS en Xhtml strict validator gebruiken, eens zien hoeveel fouten je hebt :)

    fardo de wijsneus: :+
    Xboxworld::)
    xbw is vrijwel perfect, hij geeft alleen vreemde fouten als "non SGML character number 146."
     
    Laatst bewerkt: 21 feb 2006
  12. WardNL

    WardNL Active Member

    Berichten:
    235
    Leuk Bevonden:
    0
    Hallo allemaal,
    Ik ben ook een site in elkaar aant knutselen met Dreamweaver.

    Plaatje rechts is klein, wanneer je die aanklikt krijg je in een
    nieuw venster het plaatje groter. (javascript)
    Welke script gebruik je daarvoor?


    [​IMG]
     
  13. Darkwing

    Darkwing Active Member

    Berichten:
    6.510
    Leuk Bevonden:
    25
    Ervanuitgaande dat elk plaatje dezelfde grootte heeft, is dat zoiets:

    Code:
    window.open('url_naar_plaatje','MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=640,height=480,left=20,top=20');
    achtereenvolgens de juiste url, de javascriptnaam van het venster (variabele waarmee je later dat venster nog eens aan kan roepen, bijvoorbeeld om dat venster te resizen als dat nodig is), en daarna een aantal parameters, die volgens mij wel min of meer voor zichzelf spreken.

    Als je het mooi en makkelijk wilt doen kun je er een functie van maken. In je <head> zet je dan:

    HTML:
    <script language="JavaScript" type="text/javascript">
      <!--
        //functie om afbeelding in nieuw venster te laten openen
        function openWindow(url) {
          window.open(url,'MyWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,resizable=yes,width=640,height=480,left=20,top=20');
        }
      //-->
    </script>
    
    De link waarmee je het venster wilt openen ziet er dan als volgt uit:

    HTML:
    <a href="javascript:openWindow('/images/plaatje1.jpg');"><img src="/images/kleinplaatje1.jpg" /></a>
    Hoopt dat dit werkt :)
     
    Laatst bewerkt: 21 feb 2006
  14. WardNL

    WardNL Active Member

    Berichten:
    235
    Leuk Bevonden:
    0
    Ahhh yes, gracias DW het werkt!
    Maar kan je het script (width=640,height=480) ook op autosize zetten ofzo?
    Al mn plaatjes hebben een verschillend formaat.
     
  15. unXist

    unXist F5 hoer

    Berichten:
    707
    Leuk Bevonden:
    0
    Ik wil nu graag een e-mail formulier op mn site zetten maar het wil maar niet lukken, ik lees overal dat je daar een cgi script voor nodig hebt maar waar kan ik dat vinden, en waarom zegt mn provider (Planet Internet) dat niet te ondersteunen ? (ik bedoel niet zoiets dat de email via je standaard e-mail client word verzonden)
     
    Laatst bewerkt: 21 feb 2006
  16. [2k]

    [2k] XBW.nl VIP XBW.nl VIP

    Berichten:
    8.968
    Leuk Bevonden:
    207
    Niet alle (gratis) hosts ondersteunen het. Kan ook gemakkelijk met php. Zijn zat formuliertjes te vinden op phphulp/-freakz etc. Weet niet zeker of Planet ook php ondersteund.
     
  17. Black FoX

    Black FoX Active Member

    Berichten:
    201
    Leuk Bevonden:
    2
    Dit onderstaande scriptje heb ik daar eens voor gebruikt en het werkte goed. Het enige dat je aan moet passen is $redirect, $subject en $youremail.

    (Dit scipt was destijds trouwens een gratis open source script, dat het duidelijk is ;) )

    thankyou.php met de code en gegevens

    PHP:
    <?
    //This command imports the values from contact.php. Please do not touch.
    @import_request_variables("gpc");

    //The email address the message will be sent to
    $youremail "joshvm@gmail.com";

    //The subject of the email you will receive;
    $subject "Contact via gamehype.nl";

    //The page your visitor will be redirected to.
    $redirect "http://www.gamehype.nl";

    //Time until the page redirects your visitor (seconds)
    $secs "3";
    ?>

    <HTML>
    <HEAD>
    <TITLE>Bedankt!</TITLE>
    <META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    </HEAD>
    <table cellpadding=0 cellspacing=0>
                <tr><td>
    <?

    //Checks to see if the name, message or email fields are empty. You can delete or add fields as needed.

     if ( (!empty($name)) && (!empty($message)) && (!empty($email)) )
     {

      $name = stripslashes($name);
      $message = stripslashes($message);
      $headers = 'From: '.$email.'';
    //This is where the email is sent using your values from above. Be sure to update this if you change any fields in contact.php
      mail("$youremail", "$subject","
      Name: $name
      Email: $email
      Message: $message
      
      
      ",$headers);

    ?>

    <meta http-equiv="refresh" content="<?=$secs;?>;URL=<?=$redirect;?>">

    Bedankt, we hebben uw bericht ontvangen.
    <p>
    U wordt nu automatisch naar de <a href="<?=$redirect;?>">homepage</a> geleid.

    <?
    }
    else
    {
    ?>

    We require your name email address and a message in order to reply to your message. Please click <a href="javascript:history.back(1);">here</a> or your browsers back button to try again.

    <?
    }
    ?>
    </td></tr>
    </table>
    en contact.php met het formulier:

    PHP:
    <HTML>
    <
    HEAD>
    <
    TITLE>Contact Page</TITLE>
    <
    META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">
    </
    HEAD>



    <
    table border="0" cellpadding="0" cellspacing="3">
    <
    form method="post" action="thankyou.php">

    <
    tr>
    <
    td>Naam:</td>
    <
    td><input name="name" type="text"></td>
    </
    tr>

    <
    tr>
    <
    td>E-mail:</td>
    <
    td><input name="email" type="text"></td>
    </
    tr>

    <
    tr><td>Bericht:</td>
    <
    td><textarea name="message" rows=10 cols=30></textarea></td>
    </
    tr>

    <
    tr><td>&nbsp;</td><td><input type="submit" value="Verstuur e-mail"></td>
    </
    tr></form>
    </
    table>

     
    Laatst bewerkt: 21 feb 2006
  18. Shcaap

    Shcaap Liev Gastje

    Berichten:
    2.443
    Leuk Bevonden:
    4
    en als echter webdesigner gebruik je natuurlijk labels en fieldsets ipv tabellen :+
     
  19. unXist

    unXist F5 hoer

    Berichten:
    707
    Leuk Bevonden:
    0
    Ok die formulieren heb ik nu opgeslagen als php bestand maar nu komt mn volgende vraag want dit word de eerste keer dat ik iets met PHP doe, hoe moet ik dit in mn site zetten want nu laad hij telkens dreamweaver ipv de IE browser.
     
  20. Black FoX

    Black FoX Active Member

    Berichten:
    201
    Leuk Bevonden:
    2
    True, true :D

    Uhm, bedoel je dat hij online dreamweaver als opent? Want PHP-files worden offline inderdaad met dreamweaver geopend, PHP werkt alleen online zegmaar, server scripting.

    Thankyou.php hoef je alleen maar up te loaden naar de server. Het formulier moet je in (bijvoorbeeld) index.php stoppen. Misschien helpt dit; zo komt het er dan ongeveer uit te zien.
     
    Laatst bewerkt: 21 feb 2006
Topicstatus:
Niet open voor verdere reacties.

Deel Deze Pagina