JS输入框更多吗?

时间:2010-02-06 21:53:13

标签: javascript input insert field

我有一个profile.php,社区中的每个用户都有自己的个人资料。现在我想从编辑中做一些聪明的事情,所以当你点击一个字段转向输入然后你可以在字段中编辑它时我希望这样做。(例如:www.azzyh.dk,点击“点击我”)无论如何,

我知道如何做到这一点,这是一个脚本:

<script language="JavaScript">
function createObject() {  
var request_type;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_type = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_type = new XMLHttpRequest();
}
return request_type;
}

var http = createObject();
function myEditable(e, act) {
    if (act == 'click') {
        // lav indholdet af span om til et input felt og sæt et onblue event på den
        e.innerHTML = '<input type="text" value="'+e.innerHTML+'" onblur="myEditable(this, \'edit\')" />';

        // fjern span onclick eventen
        e.onclick = null;

    } else if (act == 'edit') {
    var nocache = 0;
        // hent span elementet igen
        var parentElement = e.parentNode;

        // Opdater span teksten, e.value er den nye værdi
        parentElement.innerHTML = e.value;
        nocache = Math.random();
        var tekstny= e.value;
            http.open('get', 'editsave.php?tekstny='+tekstny+'&nocache = '+nocache);
http.onreadystatechange = insertReply;
http.send(null);
        // placer onclick eventen igen på span elementet
        (function(e){
                e.onclick = function()
                {
                    myEditable(e, 'click');
                };
            })(parentElement);


    }
    function insertReply() {
if(http.readyState == 4){
var response = http.responseText;
// else if login is ok show a message: "Site added+ site URL".
document.getElementById('insert_response').innerHTML = ''+response;
}
} 

}
</script>
<p>
    <h1><div align="center"><span onclick="myEditable(this, 'click');"><?=$row["felt"]; ?></span></h1></div>
</p>    <div id="insert_response">Respons: </div>

这很好用。

但我现在想要的是添加更多字段进行编辑,然后在开始编辑字段时显示提交按钮。

我该怎么做?

所以,如果我有5个字段,它将输出:

http.open('get', 'editsave.php?field1='+field1+'&field2='+field2+'&field3='+field3+'&field4='+field4+'&field5='+field5+'&nocache = '+nocache);

谢谢stackoverflow社区!

1 个答案:

答案 0 :(得分:1)

See this please.有关如何实现这一点的说明。感谢

And other option.