php form je v kode ale na stranke nie

Programovacie jazyky, rady, poradňa...
skvido
Star
Star
Príspevky: 508
Registrovaný: 17 nov 2008, 7:43
Kontaktovať používateľa:

php form je v kode ale na stranke nie

Príspevok od používateľa skvido »

zdravim , mam velmi divny problem , mam webstranku ktora ma viac tabuliek , vzdy je zobrazena iba jedna tabulka a ostane maju display none, tabukla obsahuje mena a niake hodnoty knim , podstatne su tie mena , po kliknuti na meno sa ma odoslat formular , v prvej tabulke vsetko funguje ako ma , v druhej tabulke je presne ten isty skopirovany kod a su premenovane iba nazvy stlpcov z databazy a z niakeho dovodu to nefunguje , tak som si klikol na element inspect a v prvej tabulke ten formular je a v dalsich uz nie :? :? , takze moja otazna znie "WTF ??"

tabulka v ktorej to funguje ma id tab4
Prílohy
unknown.png
unknown (1).png
Screenshot_1.png
Screenshot_1.png (8.56 KiB) 2259 zobrazení
Screenshot_2.png
Screenshot_2.png (11.77 KiB) 2259 zobrazení
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: php form je v kode ale na stranke nie

Príspevok od používateľa *****HERO***** »

maju tie formulare unikatne ID? v ramci jednoho tabu vyzera podla kodu ze ano ale aj v ramci celej stranky??
skvido
Star
Star
Príspevky: 508
Registrovaný: 17 nov 2008, 7:43
Kontaktovať používateľa:

Re: php form je v kode ale na stranke nie

Príspevok od používateľa skvido »

ano , id je nastavene cez globalnu premennu $j ktora je nastavena na 0 a zvysi sa o 1 po kazdom vygenerovanom formulari , nikde sa neprepisuje , je tam iba tato inkrementacia takze s id problem byt nemoze
Michaelo
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 6177
Registrovaný: 16 júl 2008, 20:29
Bydlisko: Pri PC
Kontaktovať používateľa:

Re: php form je v kode ale na stranke nie

Príspevok od používateľa Michaelo »

no, tak prave tym to potom je, lebo id nemoze zacinat inak ako pismenom ;)

Teda, podla HTML5 by nemal byt problem (zalezi aky doctype pouzivas), no doporucujem to skusit prefixnut nejakym tym stringom, napr.

Kód: Vybrať všetko

id="id-'.$j.'"

Uz len z toho dovodu, ze napr v css ti nieco taketo fungovat nebude

Kód: Vybrať všetko

#12345 { color: #faa; }
a musel by si pouzit selector cez atribut (co fakt nemusim, ked to nieje potrebne/vhodne)

Kód: Vybrať všetko

[id="12345"] { color: #faa }
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: php form je v kode ale na stranke nie

Príspevok od používateľa *****HERO***** »

na screene unknown.png nemas uzavreny posledny td tag
skvido
Star
Star
Príspevky: 508
Registrovaný: 17 nov 2008, 7:43
Kontaktovať používateľa:

Re: php form je v kode ale na stranke nie

Príspevok od používateľa skvido »

*****HERO***** napísal:na screene unknown.png nemas uzavreny posledny td tag
to vazne som si toto nevsimol ? :D dakujem ale problem to bohuzial nevyriesilo , ale vsimol som si ze ked dam refresh stranky tak ten formular tam na sekundu je a z niakeho dovodu hned zmyzne

vyzera to ze to ma nieco spolocne s tymto

Kód: Vybrať všetko

window.onload = function(){
numbers = document.getElementsByTagName("td");
				
  for (var index = 0; index < numbers.length; index++) {
	var elem = numbers.item(index);
	if (/^\d+$/.test(elem.textContent))
		elem.textContent = formatNumber(parseInt(elem.textContent));
  }
}
ked to zakomentujem tak vsetko ide v poriadku , formatNumber funkcia robi to ze z cisla 100000 to spravi 100 000 ale malo by to aplikovat iba na elementy ktore obsahuju iba cisla
ak pouzijem tento kod , tak nefunguje ten form na druhych tabulkach

Kód: Vybrať všetko

window.onload = function(){
 if (typeof(localStorage.getItem("tabid") !== 'undefined')){
    	document.getElementById('tab1').style.display = 'none';
    	document.getElementById('tab2').style.display = 'none';
    	document.getElementById('tab3').style.display = 'none';
    	document.getElementById('tab4').style.display = 'none';
    	document.getElementById(localStorage.getItem("tabid")).style.display = 'block';
 }else{
	document.getElementById('tab1').style.display = 'none';
    	document.getElementById('tab2').style.display = 'none';
    	document.getElementById('tab3').style.display = 'none';
    	document.getElementById('tab4').style.display = 'block';
 }
				
 numbers = document.getElementsByTagName("td");
				
 for (var index = 0; index < numbers.length; index++) {
	var elem = numbers.item(index);
	if (/^\d+$/.test(elem.textContent))
		elem.textContent = formatNumber(parseInt(elem.textContent));
 }
a ak pouzijem tento kod , nefunguje fotmatovanie cisel

Kód: Vybrať všetko

window.onload = function(){
 numbers = document.getElementsByTagName("td");
				
 for (var index = 0; index < numbers.length; index++) {
	var elem = numbers.item(index);
	if (/^\d+$/.test(elem.textContent))
		elem.textContent = formatNumber(parseInt(elem.textContent));
 }

 if (typeof(localStorage.getItem("tabid") !== 'undefined')){
    	document.getElementById('tab1').style.display = 'none';
    	document.getElementById('tab2').style.display = 'none';
    	document.getElementById('tab3').style.display = 'none';
    	document.getElementById('tab4').style.display = 'none';
    	document.getElementById(localStorage.getItem("tabid")).style.display = 'block';
 }else{
	document.getElementById('tab1').style.display = 'none';
    	document.getElementById('tab2').style.display = 'none';
    	document.getElementById('tab3').style.display = 'none';
    	document.getElementById('tab4').style.display = 'block';
 }
			
vsetky tabulky maju pred vykonanim tohto kodu v HTML nastavene display:block
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: php form je v kode ale na stranke nie

Príspevok od používateľa *****HERO***** »

nemazes si to nahodou tymto riadkom?

Kód: Vybrať všetko

elem.textContent = formatNumber(parseInt(elem.textContent))
podla https://www.w3schools.com/jsref/prop_no ... ontent.asp :
- The textContent property sets or returns the text content of the specified node, and all its descendants.
- If you set the textContent property, any child nodes are removed and replaced by a single Text node containing the specified string.

kedze formular ma iba jeden hidden input, inak ziadny text, tak jeho textContent je prazdny string, preto by aj sedela ta podmienka na ciselny regexp rodicovskej bunky a cely obsah tej bunky aj s formularom nahradis cislom
skvido
Star
Star
Príspevky: 508
Registrovaný: 17 nov 2008, 7:43
Kontaktovať používateľa:

Re: php form je v kode ale na stranke nie

Príspevok od používateľa skvido »

je to mozne , ale stale nechapem preco to na jednej tabulke funguje a na ostatnych sa to zmaze :D , kazdopadne bol problem v tom prepisovani , ked som menil format cisla zmazal sa aj ten child element , stacilo prehodit form do <td>elementu v ktorom je vzdy string , formatovanie cisel bolo vytvorene pre velke cisla , neuvedomil som si ze regex bude ignorovat ten form element a kedze ten form bol hodeny v stlpci kde boli iba cisla riadkov tak to preslo cez regex , dakujem
Napísať odpoveď