Master of Chess
Mitglied
Welchen Browser nutzt du denn eigentlich?
Folge dem Video um zu sehen, wie unsere Website als Web-App auf dem Startbildschirm installiert werden kann.
Anmerkung: Diese Funktion ist in einigen Browsern möglicherweise nicht verfügbar.
Ok, Firebug habe ich, 2. ist gut und 3. ergibt Sinn.
<form name="tabelle" action="" method="post">
<table border="0"><tbody>
<tr>
<td><input type="checkbox" name="Datensatz[]" value="37"></td>
<td><p id="text" onclick="toggle_text(this)" style="margin:0px;">37</p> <input type="text" name="aendernfeld_name[]" value="37" style="display:none; margin:0px;">
<input type="hidden" name="aendernfeld_name_id[]" id="textfeld" value="37">
</td> <td><p id="text" onclick="toggle_text(this)" style="margin:0px;">Admin</p> <input type="text" name="aendernfeld_name[]" value="Admin" style="display:none; margin:0px;">
<input type="hidden" name="aendernfeld_name_id[]" id="textfeld" value="37">
</td> <td><p id="text" onclick="toggle_text(this)" style="margin:0px;">1</p> <input type="text" name="aendernfeld_name[]" value="1" style="display:none; margin:0px;">
<input type="hidden" name="aendernfeld_name_id[]" id="textfeld" value="37">
</td> <td><p id="text" onclick="toggle_text(this)" style="margin:0px;">Admin</p> <input type="text" name="aendernfeld_name[]" value="Admin" style="display:none; margin:0px;">
<input type="hidden" name="aendernfeld_name_id[]" id="textfeld" value="37">
</td>
</tr>
</tbody></table>
<input type="submit" name="aendern" value="Änderungen speichern">
<input type="button" name="abbrechen" value="Abbrechen" onClick="toggle_back()">
<a href="javascript:toggle_back();">Abbrechen</a></form>
function toggle_back()
{
var inputs = document.getElementsByTagName("input");
for(var i=0;i<inputs.length;i++)
{
var obj = inputs[i];
var j = 0;
var obj2 = null;
var lastobj = obj.previousSibling;
while(j<15)
{
if(lastobj != null && lastobj.nodeName == "P")
{
obj2 = lastobj;
break;
}
lastobj = lastobj.previousSibling;
j++;
}
obj.style.display = "none"; // Input wird ausgeblendet
obj2.style.display = ""; // P-Element wird wieder eingeblendet
}
}
<script type="text/javascript" charset="utf-8">
window.onload = function() {
var elems = document.getElementsByTagName("*");
for( var i=0; i<elems.length; i++ ) {
if( !elems[i].className.match(/(?:^|\s+)editable\(([A-Za-z][A-Za-z0-9-_:.]+)\)(?:\s+|$)/) ) {
continue;
}
elems[i].ondblclick = new Function("startEditing(this, '"+RegExp.$1+"')");
}
}
function startEditing( obj, name )
{
var input = document.createElement("input");
input.type = "text";
input.name = name;
input.value = obj.firstChild.nodeValue;
input.onblur = new Function("stopEditing(this.parentNode)");
obj.ondblclick = null;
obj.replaceChild(input, obj.firstChild);
input.focus();
}
function stopEditing( obj )
{
var text = document.createTextNode(obj.firstChild.value);
obj.ondblclick = new Function("startEditing(this, '"+obj.firstChild.name+"')");
obj.replaceChild(text, obj.firstChild);
}
</script>
<p class="editable(foobar)">foobar</p>
Ja, es haben viele Elemente die gleiche ID, aber die ist nur drin, weil das in dem Post vorher auch gemacht war. Ich kann die einfach rausnehmen, ich brauche die nicht. Und warum dürfen die nur einmalig sein? Wenn ich mit CSS etwas formatiere, dann kann ich das ja auch über die class oder die id zuweisen, und da benutze ich die id mehrmals!Das ist natürlich die beste Lösung.
@multimolti: Könnte es daran liegen, dass mehrere Elementer bei dir die selbe ID haben? IDs müssen im ganzen Dokument einmalig sein.
Hier eine Nur-JavaScript-Variante:HTML:<script type="text/javascript" charset="utf-8"> window.onload = function() { var elems = document.getElementsByTagName("*"); [snip snap] ^^ function startEditing( obj, name ) { var input = document.createElement("input"); input.type = "text"; input.name = name; input.value = obj.firstChild.nodeValue; input.onblur = new Function("stopEditing(this.parentNode)"); obj.ondblclick = null; obj.replaceChild(input, obj.firstChild); input.focus(); } [snap snip] ^^ } </script> <p class="editable(foobar)">foobar</p>
Mit der Funktion kreiere ich zwar Inputfelder aber ich habe selbst bei selfhtml nichts gefunden, womit ich die beiden Attribute size und maxlength für die Inputfelder, respektive cols & rows für Textarea, definiere. (
...oder diesen wenigstens eine CSS-Klasse zuweisen.
input.setAttribute('size',40)
input.className='Klassenname'