Girişine değişiklikten sonra php dosyasına GET göndermek için ajax kullanarak

1 Cevap php

Ben kullanıcı girişi kapalı tıkladığında benim için bir php dosyasında ajax güncelleme var gerekir dinamik olarak oluşturulan girdilerin bir dizi var.

Ben doğru kodu olduğunu düşünüyorum, ama benim anlayış ötesinde nedenlerle çalışmıyor. Ben çok nazik olmak, tam bir javascript / ajax çaylak değilim.

Js / ajax:

<script type="text/javascript"> 
// Initialize the object:
var ajax = false;

// Create the object...

// Choose object type based upon what's supported:
if (window.XMLHttpRequest) {

    // IE 7, Mozilla, Safari, Firefox, Opera, most browsers:
    ajax = new XMLHttpRequest();

} else if (window.ActiveXObject) { // Older IE browsers

    // Create type Msxml2.XMLHTTP, if possible:
    try {
    	ajax = new ActiveXObject("Msxml2.XMLHTTP");
    } catch (e1) { // Create the older type instead:
    	try {
    		ajax = new ActiveXObject("Microsoft.XMLHTTP");
    	} catch (e2) { }
    }

}
function update_program(row, target, value) {
    if (ajax) { // Confirm that the object is usable
    	ajax.open('get', 'update.php?row=' + encodeURIComponent(row) + '&target=' + encodeURIComponent(target) + '&nfv=' + encodeURIComponent(value)); // Call the PHP script using GET, pass the variable
    	//ajax.onreadystatechange = handle_programupdate; // Function that handles the response
    	ajax.send(null); // Send the request
    }
}
</script>

Ve dinamik girdi alanları için php

echo "<td><input type=text value=\"$value\" name=\"date\" onblur=\"update_program($i, $j, this.input.date.value);\" class=med></td></td>";

Satır sayısı $ i, ve alan sayısı $ j. Yani verileri I Gönderdi¤imiz satır, alan (hedef), ve giriş değiştirilmiş değeri gerekir.

Girişler bir tablo düzenlenir birçok birçok (farklı satırlar, 63 alanlar) bulunmaktadır. Her alan bir metin girişi, ya da bir durumda bir metin alanı belirtilebilir. Nasıl kullanıcı bunları değiştirir sonra bunları php dosyasına gönderebilirsiniz yapabilirsiniz?

1 Cevap

Ben giriş onClick bu bölümünü düşünüyorum

update_program($i, $j, this.input.date.value)

olmalıdır

update_program($i, $j, this.value)

Ayrıca, jQuery, ajax çok kolaylaştırır kullanmayı düşünün. Ve her şey çok: P

function update_program(row, target, value) {
    $.get('update.php', {row:row, target:target, nfv:value});
}

Ayrıca, time kullanıyorsanız ve parametre value fonksiyonu, değil mi?