Archiv für die Kategorie ‘Javascript’

MAC: Programmieren mit dem Apple Mac – korrekte Einstellung der Kodierung / Kollation

Mittwoch, 10. Oktober 2012

Wer mit dem Mac programmiert wird oft vor das Problem gestellt dass Umlaute usw. falsch ausgegeben werden. Wie codiere ich also Dateien richtig um sie korrekt auszugeben?

Beim Editor (Empfehlung: TextWrangler) sollte man die Einstellung „Western (ISO Latin 1)“ (WICHTIG: nicht zu verwechseln mit „Western Windows Latin 1“!!!) wählen. Für korrekte Zeilenumbrüche sollte „Unix (LF)“ ausgewählt werden.

In der Datenbank und generell am Server muss man die Kollation auf „utf8_general_ci“ stellen.

Mit diesen Einstellungen sollte alles einwandfrei funktionieren.

Inhalt einer Textarea bzw. eines Inputfeldes bei Klick löschen

Sonntag, 14. März 2010

Häufig wird es benötigt dass man einen Standardwert eines Inputfeldes beim Klick löschen möchte. Beispielsweise wenn man ein Inputfeld für eine Suchfunktion hat.

Man braucht nur folgenden Code:

<input onfocus="if(this.value=='Ihr Name') this.value=''" type="text" name="name" value="Ihr Name" />

Selbstverständlich funktioniert das auch bei einem Textfeld (textarea):

<textarea onfocus="if(this.value=='Text') this.value=''" type="text" name="message" value="Text" />Text</textarea>

2 Formulare zugleich abschicken

Donnerstag, 30. Juli 2009
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
function submit_all()
{
  t=document.createElement('div');
  t.style.display='none';
  for(i=0;i<document.forms.length;++i)
    {
 
      if(document.forms[i]!=document.getElementById('send'))
        {
          t.appendChild(document.forms[i].getElementsByTagName('div')[0].cloneNode(true));
        }
      else
        {
          t=document.forms[i].appendChild(t.cloneNode(true))
        }
    }
  document.getElementById('send').submit();
  return false;
}
//-->
</script>
</head>
<body>
 
<?php
//Kontrolle der gesendeten Daten 
print_r($_FILES);
print_r($_POST);
?>
 
<form id="send" enctype="multipart/form-data" method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
  <div>
    <input name="foobar" type="file">
  </div>
  <input type="submit">
</form>
<form  method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
  <div>
    <input name="foo">
  </div>
  <input type="submit">
</form>
<form method="post" onsubmit="return submit_all()"><input type="hidden" name="phpMyAdmin" value="omnWr6jrnJ0Xkj5GYNg3tUj%2C1mf" />
  <div>
    <input name="bar">
  </div>
  <input type="submit">
</form>
 
 
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-1691844-1";
urchinTracker();
</script>
</body>
</html>

Wichtig ist dabei:
1. jedes Formular enthält als 1. Kindelement ein < div>….in dieses müssen alle Formularelemente hinein, die immer gesendet werden sollen
2. das Formular, welches das File-Upload-Feld enthält, muss die ID „send“ haben(je nach Browser werden beim clonen nicht die Eingaben in File-Upload-Feldern mitgeclont, deswegen muss immer das Formular mit dem Upload-Feld gesendet werden….bedeutet auch gleichzeitig, dass es nur 1 Formular mit Upload-Feldern geben kann)
3. bei der Benennung der Formularfelder musst du berücksichtigen, dass es nicht gleichnamige Felder geben darf, sonst gehen Daten verloren, da nur das jeweils letzte übermittelt wird.

Javascript: Emailadressen auf der Seite gegen Spam-Bots schützen

Montag, 23. März 2009

Jeder weiss wie lästig es ist, wenn man jeden Tag mehrere Spam Emails erhält. Leider ist das immer häufiger der Fall, da Bots, das sind eigens programmierte Skripte, Emailadressen aus dem Quellcode von Webseiten auslesen. Das ist recht einfach indem man mit einer RegEx nach einem bestimmten Muster im Text sucht, welches zb. ein @ enthält. Wir werden nun die Links zu Emailadressen so darstellen, dass dem Bot eine falsche Emailadresse vorgegaukelt wird. In den bereich der seite binden wir unser JavaScript ein, welches später die Emailadresse korrekt ausgibt:

<script language="JavaScript1.2">
function mailsend(mail,p1,p2,p3) {
  var ca;
  ca = "mailto:" + p2 + "\@" + p3 + "." + p1;
  mail.href = ca;
  return (1);
}
</script>

Nun müssen wir nur noch die links im wie folgt formatieren:

<a href="mailto:no.bot.can@get.us" onClick="mailsend(this,'tld','name','domain');">Email</a>

Es müssen nur die Platzhalter tld (Top Level Domain wie .com, .at, …), name und domain ersetzt werden. Ein Beispiel:

<a href="mailto:no.bot.can@get.us" onClick="mailsend(this,'com','info','promadesign');">Email</a>

Der Bot welcher den Quellcode ausliest liest die Emailadresse „no.bot.can@get.us“ aus. Der User welcher aber auf den Link „Email“ klickt bekommt die korrekte Emailadresse zu sehen.

Javascript: Focus auf ein Element setzen

Montag, 23. März 2009
<input type="text" name="fieldname" id="1">
<script type="text/Javascript" language="JavaScript">
  <!--
    document.getElementById("1").focus();
  //-->
</script>