function showQuery(id){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data
// sent from the server and will update
// div section in the same page.
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('txtHint');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
// Now get the value from user and pass it to
// server script.
var projekt = document.getElementById('projekt').value;
var uprojekt = document.getElementById('underprojekt').value;
var uke = document.getElementById('uke').value;
var tn1 = "tn" + id;
var tn = document.getElementById(tn1).value;
var tf = document.getElementById('tf').value;
var th = document.getElementById('th').value;
var tart = document.getElementById('tart').value;
var queryString = "?projekt=" + projekt ;
queryString += "&uprojekt=" + uprojekt + "&uke=" + uke + "&tn=" + tn + "&tf=" + tf + "&th=" + th + "&tart=" + tart + "&id=" + id;
ajaxRequest.open("GET", "index.php" +
queryString, true);
ajaxRequest.send(null);
}
Det som inte fungerar är att jag har en while() som kör ut massa inputs. för ex.
<inpute type="text" id="tn'. row['ID'] . '">apa
men när jag updaterar projekt, uprojekt eller uke så finns ju inte dom kvar och javascriptet stannar. koden ser ut just nu:
function showQuery(id){
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data
// sent from the server and will update
// div section in the same page.
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('txtHint');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
// Now get the value from user and pass it to
// server script.
var projekt = document.getElementById('projekt').value;
var uprojekt = document.getElementById('underprojekt').value;
var uke = document.getElementById('uke').value;
if (typeof id == 'undefined' || id === null || id === '') {
id = '0';
}
tn1 = 'tn' + id;
tf1 = 'tf' + id;
th1 = 'th' + id;
tart1 = 'tart' + id;
var tn = document.getElementById(tn1).value;
var tf = document.getElementById(tf1).value;
var th = document.getElementById(th1).value;
var tart = document.getElementById(tart1).value;
if (typeof tn == 'undefined' || tn === null || tn === '') {
tn = '0';
}
if (typeof tf == 'undefined' || tf === null || tf === '') {
tf = '0';
}
if (typeof th == 'undefined' || th === null || th === '') {
th = '0';
}
if (typeof tart == 'undefined' || tart === null || tart === '') {
tart = '0';
}
var queryString = "?projekt=" + projekt ;
queryString += "&uprojekt=" + uprojekt + "&uke=" + uke + "&tn=" + tn + "&tf=" + tf + "&th=" + th + "&tart=" + tart + "&ID=" + id;
ajaxRequest.open("GET", "index.php" + queryString, true);
ajaxRequest.send(null);
}
kan jag lägga koden nedanför i en egen funktion så de inte blir påvärkade av varandra? har försökt men får det inte att fungera.
tn1 = 'tn' + id;
tf1 = 'tf' + id;
th1 = 'th' + id;
tart1 = 'tart' + id;
var tn = document.getElementById(tn1).value;
var tf = document.getElementById(tf1).value;
var th = document.getElementById(th1).value;
var tart = document.getElementById(tart1).value;
document.getElementById('txtHint'); ligger i body så allt nedanför uppdateras, kan jag få en egen funktion innanför body'n?
var returnValue = function(value) {
return (typeof id == 'undefined' || id === null || id === '') ? '0' : id;
}
var returnDomValue = function(element) {
var el = document.getElementById(element);
return (el === null) ? '0' : element.value;
}
function showQuery(id){
id = (typeof id == 'undefined' || id === null || id === '') ? '0' : id;
var doc = document;
var ajaxRequest; // The variable that makes Ajax possible!
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
}catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
}catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
}catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data
// sent from the server and will update
// div section in the same page.
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.getElementById('txtHint').innerHTML = ajaxRequest.responseText;
}
}
// Now get the value from user and pass it to
// server script.
var projekt = doc.getElementById('projekt').value;
var uprojekt = doc.getElementById('underprojekt').value;
var uke = doc.getElementById('uke').value;
var tn = returnDomValue('tn' + id);
var tf = returnDomValue('tf' + id);
var th = returnDomValue('th' + id);
var tart = returnDomValue('tart' + id);
var queryString = "?projekt=" + projekt + "&uprojekt=" + uprojekt + "&uke=" + uke + "&tn=" + tn + "&tf=" + tf + "&th=" + th + "&tart=" + tart + "&ID=" + id;
ajaxRequest.open("GET", "index.php" + queryString, true);
ajaxRequest.send(null);
}
nu kraschar inte scriptet längre men tn, tf, th, tart får inga värden, står undefined på dessa hela tiden, skall hämta värdet ifrån en inpute, value, måste man inte berätta det någonstans?
Det ovanför ligger i en while($row = mysqli_fetch_array($result)) {
Den tar ju bort elementen då jag kör en sql-fråga när jag ändrar om projekt, uprojekt och uke, då finns ju inte de gamla kvar.
Det ovanför ligger i en while($row = mysqli_fetch_array($result)) {
Den tar ju bort elementen då jag kör en sql-fråga när jag ändrar om projekt, uprojekt och uke, då finns ju inte de gamla kvar.
spelar ingen roll, när du gör ajax anropet så finns dom väl där?
Kan man kolla vilket element som aktiverar scriptet?
Skall uppdatera med en sql men måste jämnföra om något blivit ändrat.
ja, det kan du, men du måste jämföra det nya värdet med defaultValue och jämföra dom, men du har ju fler element som skall jämföras. så det räcker ju inte att bara veta vilket element du triggar change eventet på.
270 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849