Rezultate 1 la 5 din 5

Subiect: Probleme Javascript la apasarea submit pentru prima data

  1. #1
    Avatarul lui Popescu Marian
    Popescu Marian este deconectat Ambasador
    Reputatie:
    45
    Data înscrierii
    18th April 2007
    Locaţie
    Bucuresti
    Vârstă
    44
    Posturi
    983
    Putere Rep
    45


    Implicit Probleme Javascript la apasarea submit pentru prima data

    Salut,

    Am o galerie de poze si fiecare poza are un buton de tip submit care la apasare (onclick) apeleaza o functie din javascript, functie care ar trebui sa stearga respectiva poza.

    Faza e ca nu sterge niciodata prima poza, de fapt nu face prima actiune de sterge, abia a doua oara sterge. Indiferent cate poze sunt in galerie, 10 sau doar 1, sau indiferent pe a cata poza dau sa o stearga nu functioneaza pentru prima apasare a butonului.

    Form-ul este asa:
    Cod HTML:
    <form action="ajaxstergepoza.php" method="post" name="unobtrusive" id="unobtrusive">
    <td id="stergepoza_area1" valign="bottom"><a href="uploads/4/case-la-cheie_1297943075.jpg">
    <img src="uploads/4/case-la-cheie_1297943075.jpg" width="140" /></a><br />
    <input type="submit" value="sterge" onclick="ajaxStergePoza(this.form,'ajaxstergepoza.php?iduser=4&amp;idpoza=16','stergepoza_area1','Deleting File Please Wait...',' Error in Delete'); return false;" /> 						
    </td>
    <td id="stergepoza_area2" valign="bottom"><a href="uploads/4/case_1297943075.jpg">
    <img src="uploads/4/case_1297943075.jpg" width="140" /></a><br />
    <input type="submit" value="sterge" onclick="ajaxStergePoza(this.form,'ajaxstergepoza.php?iduser=4&amp;idpoza=17','stergepoza_area2','Deleting File Please Wait...',' Error in Delete'); return false;" /> 						
    </td>
    </form>
    Iata mai jos si continutul fisierului .js

    Cod:
    function $m(theVar){
    	return document.getElementById(theVar)
    }
    function remove(theVar){
    	var theParent = theVar.parentNode;
    	theParent.removeChild(theVar);
    }
    function addEvent(obj, evType, fn){
    	if(obj.addEventListener)
    	    obj.addEventListener(evType, fn, true)
    	if(obj.attachEvent)
    	    obj.attachEvent("on"+evType, fn)
    }
    function removeEvent(obj, type, fn){
    	if(obj.detachEvent){
    		obj.detachEvent('on'+type, fn);
    	}else{
    		obj.removeEventListener(type, fn, false);
    	}
    }
    function isWebKit(){
    	return RegExp(" AppleWebKit/").test(navigator.userAgent);
    }
    
    function ajaxStergePoza(form,url_action,id_element,html_show_loading,html_error_http){
    	var detectWebKit = isWebKit();
    	form = typeof(form)=="string"?$m(form):form;
    	var erro="";
    	if(form==null || typeof(form)=="undefined"){
    		erro += "The form of 1st parameter does not exists.\n";
    	}else if(form.nodeName.toLowerCase()!="form"){
    		erro += "The form of 1st parameter its not a form.\n";
    	}
    	if($m(id_element)==null){
    		erro += "The element of 3rd parameter does not exists.\n";
    	}
    	if(erro.length>0){
    		alert("Error in call ajaxUpload:\n" + erro);
    		return;
    	}
    	var iframe = document.createElement("iframe");
    	iframe.setAttribute("id","ajax-temp");
    	iframe.setAttribute("name","ajax-temp");
    	iframe.setAttribute("width","0");
    	iframe.setAttribute("height","0");
    	iframe.setAttribute("border","0");
    	iframe.setAttribute("style","width: 0; height: 0; border: none;");
    	form.parentNode.appendChild(iframe);
    	window.frames['ajax-temp'].name="ajax-temp";
    	var doUpload = function(){
    		removeEvent($m('ajax-temp'),"load", doUpload);
    		var cross = "javascript: ";
    		cross += "window.parent.$m('"+id_element+"').innerHTML = document.body.innerHTML; void(0);";
    		$m(id_element).innerHTML = html_error_http;
    		$m('ajax-temp').src = cross;
    		if(detectWebKit){
            	remove($m('ajax-temp'));
            }else{
            	setTimeout(function(){ remove($m('ajax-temp'))}, 250);
            }
        }
    	addEvent($m('ajax-temp'),"load", doUpload);
    	form.setAttribute("target","ajax-temp");
    	form.setAttribute("action",url_action);
    	form.setAttribute("method","post");
    	if(html_show_loading.length > 0){
    		$m(id_element).innerHTML = html_show_loading;
    	}
    	form.submit();
    }
    Ultima modificare făcută de Popescu Marian; 17th February 2011 la 16:51.

  2. #2
    Avatarul lui laufer
    laufer este deconectat Ambasador
    Reputatie:
    35
    Data înscrierii
    10th February 2006
    Locaţie
    Constanta
    Vârstă
    41
    Posturi
    398
    Putere Rep
    35


    Implicit

    Eu cred ca se sterge, doar ca nu face refresh-ul.

  3. #3
    Avatarul lui Popescu Marian
    Popescu Marian este deconectat Ambasador
    Reputatie:
    45
    Data înscrierii
    18th April 2007
    Locaţie
    Bucuresti
    Vârstă
    44
    Posturi
    983
    Putere Rep
    45


    Implicit

    Tocmai, ca nu executa codul din ajaxstergepoza.php din prima apasare, abia la apasarea altui buton de submit executa codul din fisierul php.
    Refresh-ul il face, poza dispare dar fisierul ajaxstergepoza.php nu este accesat din prima.

    M-am uitat cu Live HTTP Headers din Firefox si vad ca la primul submit nu trimite niciun header, abia dupa ce apas a doua oara se trimite header HTTP.
    Ultima modificare făcută de Popescu Marian; 17th February 2011 la 17:00.

  4. #4
    Avatarul lui kleampa
    kleampa este deconectat Ambasador
    Reputatie:
    52
    Data înscrierii
    31st May 2006
    Locaţie
    Bucuresti
    Vârstă
    36
    Posturi
    1.581
    Putere Rep
    52


    Implicit

    fa-le butoane de tip button nu submit
    Membru fondator al societății secrete Afiliatti.

  5. #5
    Avatarul lui haiduc
    haiduc este deconectat Membru SeoPedia
    Reputatie:
    26
    Data înscrierii
    22nd June 2011
    Locaţie
    oriunde
    Posturi
    124
    Putere Rep
    26


    Implicit

    Mai "trezesc" un topic amortit de ceva vreme, cu scuzele de rigoare:

    Am cateva bloguri (printre care si unul caruia i-am luat domeniu.ro) pe platforma de la blogger și la toate intampin o problema de cateva zile: nu mai pot adauga, modifica/salva niciun obiect gadget de tip text. Initial am crezut ca e ceva de la mine, asa ca am incercat si pe alte browsere, dar si pe alte computere, fara niciun efect. De cate ori dau "salvare" pe gadgetul respectiv, apare intr-o caseta jos: javascript: void(0) si ramane totul nemiscat. Am probat si la celelalte gadgeturi, dar numai cele de tip text au aceasta problema.
    Sa fie de la blogger sau...?

Informații subiect

Utilizatori care navighează în acest subiect

Momentan este/sunt 1 utilizator(i) care navighează în acest subiect. (0 membrii și 1 vizitatori)

Thread-uri Similare

  1. Caut un Data Entry Worker pentru un full-time (de acasa)
    De necropsique în forumul Servicii web / Jobs
    Răspunsuri: 1
    Ultimul Post: 17th August 2010, 14:05
  2. probleme data la import fisier in tabela
    De Popescu Marian în forumul Server side
    Răspunsuri: 3
    Ultimul Post: 21st July 2010, 15:48
  3. Răspunsuri: 1
    Ultimul Post: 31st March 2010, 03:30
  4. prima pagina prima pozitie in yahoo
    De Lupanu în forumul Yahoo!
    Răspunsuri: 13
    Ultimul Post: 20th February 2009, 16:57
  5. Este ok folosirea lui WebCeo pentru submit
    De Marius Mailat în forumul Directoare web straine
    Răspunsuri: 9
    Ultimul Post: 14th February 2006, 10:01

Permisiuni postare

  • Nu puteţi posta subiecte noi.
  • Nu puteţi răspunde la subiecte
  • Nu puteţi adăuga ataşamente
  • Nu puteţi modifica posturile proprii
  •