JS Поле ввода больше из них? - PullRequest
       20

JS Поле ввода больше из них?

2 голосов
/ 07 февраля 2010

У меня есть profile.php, где у каждого пользователя в сообществе есть свой профиль. Теперь я хочу сделать что-то умное из редактирования, поэтому я хочу сделать это, когда вы нажимаете на поле, оно превращается во вход, а затем вы можете отредактировать его в поле .. «Кликни меня») В любом случае,

Я уже знаю, как это сделать, вот сценарий:

<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 Ответ

1 голос
/ 07 февраля 2010

См. Это, пожалуйста. Инструкции по реализации этого Спасибо

И другой вариант.

...