[jQuery] Problem beim Senden von Daten mit $.Ajax
Hi, ich steh mal wieder total aufm Schlauch, vieleicht könnt ihr mir weiterhelfen :hmpf:
Ich habe eine Form die wie folgt aussieht:
Die Daten in den Input-Feldern sollen beim Klick auf "save" per Ajax an eine CGI-Datei geschickt werden. Da ich mehrere Forms dieser Art auf einer Seite benutze, habe ich mir einen entsprechenden Selektor in jQuery (jQ ist mit jQuery.noConflict() aufgrund von MooTools als neuer Namespace gewählt) gebastelt, um genau auf diese Forms zu kommen:
Dabei dient das <span> Element mit der Klasse "values" und der jeweiligen ID als Referenzpunkt um anschließend mit
Die Felder oder Buttons zu selektieren.
Leider weiß ich leider nicht wie ich diese Daten korrekt an das Script per $.Ajax bzw jQ.Ajax übergebe. Mein Ansatz ist total umständlich und liefert eine seltsam-falsche URL:
URL, die ich mit Tamper-Data abgefangen habe:
Ich weiß nicht wo auf einmal "?_=1273237148309" herkommt und warum die Elemente undefined sind. Vieleicht wisst ihr es ja?
Bin für jeden Lösungsansatz dankbar
Hi, ich steh mal wieder total aufm Schlauch, vieleicht könnt ihr mir weiterhelfen :hmpf:
Ich habe eine Form die wie folgt aussieht:
HTML:
<span id="setIp" class="values">
<p class="attributes">IP-Address:</p>
<span class="edit">
<span class="fields">
<input class="valIP" name="ip_1" type="text" value="" maxlength="3" size="2" disabled="true" />.
<input class="valIP" name="ip_2" type="text" value="" maxlength="3" size="2" disabled="true" />.
<input class="valIP" name="ip_3" type="text" value="" maxlength="3" size="2" disabled="true" />.
<input class="valIP" name="ip_4" type="text" value="" maxlength="3" size="2" disabled="true" />
</span>
<input class="enableForm" type="button" value="edit" />
<input class="send" type="submit" value="save" />
<input class="reset" type="reset" value="reset" />
<p class="invalInput"></p>
</span>
</span>
PHP:
var elm= "#" + jQ(this).parents().map(function () {
return this.id;
}).get(1);
PHP:
jQ(elm).find(".valIP")
Leider weiß ich leider nicht wie ich diese Daten korrekt an das Script per $.Ajax bzw jQ.Ajax übergebe. Mein Ansatz ist total umständlich und liefert eine seltsam-falsche URL:
PHP:
var sdata = new Array();
sdata[0] = new Object();
sdata[0] [jQ(elm).find(".valIP").map(function(){
return jQ(this).attr("name");
}).get(0)] = jQ(elm).find(".valIP").map(function(){
return jQ(this).val();
}).get(0);
sdata[1] = new Object();
sdata[1] [jQ(elm).find(".valIP").map(function(){
return jQ(this).attr("name");
}).get(1)] = jQ(elm).find(".valIP").map(function(){
return jQ(this).val();
}).get(1);
sdata[2] = new Object();
sdata[2] [jQ(elm).find(".valIP").map(function(){
return jQ(this).attr("name");
}).get(2)] = jQ(elm).find(".valIP").map(function(){
return jQ(this).val();
}).get(2);
sdata[3] = new Object();
sdata[3] [jQ(elm).find(".valIP").map(function(){
return jQ(this).attr("name");
}).get(3)] = jQ(elm).find(".valIP").map(function(){
return jQ(this).val();
}).get(3);
jQ.ajax({
url: "cgi-bin/set_ip_test.sh",
type: "get",
dataType: "html",
data: sdata,
cache: false,
error: function(){
jQ(elm).find(".invalInput").text("Failed to send data");
},
success: function(strData){
jQ(this).css("display", "none");
jQ(elm).find(".reset").css("display", "none");
jQ(elm).find(".enableForm").css("display", "inline");
jQ(elm).find(".valIP").attr("disabled", "true");
jQ(elm).find(".invalInput").text(strData);
}
});
Code:
http://192.168.0.140/includes/cgi-bin/set_ip_test.sh?_=1273237148309&undefined=undefined&undefined=undefined&undefined=undefined&undefined=undefined
Bin für jeden Lösungsansatz dankbar
Zuletzt bearbeitet: