Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen Revision Vorhergehende Überarbeitung Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
software:tim:smartform:copy_on_change [2014/01/30 15:42] martin.oehm |
software:tim:smartform:copy_on_change [2021/07/01 09:52] (aktuell) |
||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Inhalt eines input-Feldes in einen Link umwandeln ======= | ====== Inhalt eines input-Feldes in einen Link umwandeln ======= | ||
- | Mit dieser Funktion ist es möglich die Eingabe aus einem Input-Feld, per jQuery-onChangeMethode, als Link darzustellen. | + | Mit dieser Funktion ist es möglich, die Eingabe aus einem Input-Feld in einen Link umzuwandeln und diesen nachfolgenden T!M-Anwendern zur Verfügung zu stellen. |
Hierfür muss in der Smartform die initMethode angegeben werden, welche in der custom.js aufgerufen wird. | Hierfür muss in der Smartform die initMethode angegeben werden, welche in der custom.js aufgerufen wird. | ||
Zeile 15: | Zeile 15: | ||
<tr> | <tr> | ||
<td> | <td> | ||
- | <a href="" target="_blank" name="link" id="link" style="text-decoration:none;"></a> | + | <a target="_blank" name="link" id="link" style="text-decoration:none;"/> |
</td> | </td> | ||
</tr> | </tr> | ||
Zeile 22: | Zeile 22: | ||
</code> | </code> | ||
- | Nun muss in der custom.js diese initMethode angelegt werden. Daraufhin muss jq eingebunden werden, auf das input-Feld die onChange-Methode gelegt werden und die Eingabe an den Link (ahref) übergeben werden. Zusätzlich wird in der Funktion überprüft ob bereits eine Eingabe getätigt wurde, die "http" (oder auch "https") enthält. | + | Nun muss in der custom.js diese initMethode angelegt werden. Darin muss jq eingebunden werden, die onChange-Methode auf das input-Feld gebunden werden und die Eingabe an den Link übergeben werden. Zusätzlich wird in der Funktion überprüft, ob die Eingabe bereits 'http:/ / ' oder 'https:/ /' enthält. Falls dies nicht zutrifft, wird dem Link "http:/ /" vorangestellt (ohne Leerzeichen zwischen den Schrägstrichen). |
<code> | <code> | ||
Zeile 28: | Zeile 28: | ||
jq= (this.form.ownerDocument.defaultView!=null) ? this.form.ownerDocument.defaultView.jQuery : this.form.ownerDocument.parentWindow.jQuery; | jq= (this.form.ownerDocument.defaultView!=null) ? this.form.ownerDocument.defaultView.jQuery : this.form.ownerDocument.parentWindow.jQuery; | ||
- | + | window['entity'] = this.entity; | |
+ | |||
jq('#input_pfad').change(function(){ | jq('#input_pfad').change(function(){ | ||
var atag= jq("#link")[0]; | var atag= jq("#link")[0]; | ||
- | if(this.value.indexOf('http')==-1){ | + | if(this.value.indexOf('http://')==-1 && this.value.indexOf('https://')==-1){ |
- | atag.href = 'https://' + jq.trim(this.value); | + | atag.href = 'http://' + jq.trim(this.value); |
atag.innerHTML = atag.href; | atag.innerHTML = atag.href; | ||
+ | window['entity'].setValue(atag.id, 'http://' + jq.trim(this.value)); | ||
+ | |||
} | } | ||
else{ | else{ | ||
atag.href = jq.trim(this.value); | atag.href = jq.trim(this.value); | ||
atag.innerHTML = atag.href; | atag.innerHTML = atag.href; | ||
+ | window['entity'].setValue(atag.id, jq.trim(this.value)); | ||
} | } | ||
+ | window['entity'].setValue(this.id, this.value); | ||
+ | window['entity'].mergeLocal(true); | ||
}); | }); | ||
} | } | ||
</code> | </code> |