Adaugare numar cu virgula din sir in input type number

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
Avatar utilizator
ionatan
Mesaje: 94

Adaugare numar cu virgula din sir in input type number

Salutari, problema nu e ca nu pot seta input type="number"
Am un sistem Ajax table - Edit Add Delete rows with Ajax PHP http://www.infotuts.com/ajax-table-add- ... query-php/
treaba e atunci cand dai clik pe Edit in fiecare input pentru editare nu imi mai aduce din baza de date ci ramane instant iar apoi face update iar daca pun input type="number" la edit nu imi mai apare nimic iar daca ramane input type='text' atunci ramane de ex 1.848,33 aici e problema ca daca utilizatorul pune doua puncte sau in loc de virgula scrie punct etc... da eroare .. in partea de add am pus <input type="number"> si e super ok

imi place acest sistem de Edit Add Delete rows with Ajax PHP ca dupa fiecare actiune Edit, Add, Delete, imi face un refres nu la toata pagina ci doar la tabel si imi arata totalul la suma real fara refresh la pagina ..... nu am gasit altul si nu ma pricep sa fac de la zero unul......

functia javascript pt edit

Cod: Selectaţi tot

 $('#demoajax').on('click','.ajaxedit',function(){
      var edittrid = $(this).parent().parent().attr('id');
    	var tds = $('#'+edittrid).children('td');
        var tdstr = '';
		var td = '';
		pre_tds = tds;
		
	 var data_cheltuieli = $(tds[0]).html();
	   var categoria = $(tds[1]).html();
	  var descriere = $(tds[2]).html();
	  var new_descriere = descriere.replace(/\<br[^\>]*\>/ig, '');
	   var suma = $(tds[3]).html();
		tdstr+="<td bgcolor='#FF0000'> <input type='text' id='usermeta-birthday2' name='data_cheltuieli' value ='" +data_cheltuieli+ "'/> </td>";
	    tdstr+="<td bgcolor='#FF0000'> <select  class='categoria' name='categoria' > <option value='"+categoria+ "'>" +categoria+ "</option>  <option value='Motorina'>Motorina</option> <option value='Spalatorie Auto Peugeot'>Spalatorie Auto Peugeot</option> <option value='Taxe Auto Peugeot'>Taxe Auto Peugeot</option> <option value='Reparatii Auto Peugeot'>Reparatii Auto Peugeot</option> <option value='Plata muncitori'>Plata muncitori</option> <option value='Scule, Unelte'>Scule, Unelte</option> <option value='Haine etc'>Haine, Incaltaminte, etc</option> <option value='Mancare'>Mancare</option> <option value='Alte cheltuieli'>Alte cheltuieli</option> <option value='Cont Familiar'>Cont Familiar</option> ";
		tdstr+="<td bgcolor='#FF0000'> <textarea class='descriere' NAME='descriere' style='width:100%; color:#000000;'  ROWS=2  >"+new_descriere+"</textarea> </td>";
	    tdstr+="<td bgcolor='#FF0000'> <input type='text' class='suma' name='suma' value='" +suma+ "' placeholder='suma' /></td>";

		  tdstr+="<td bgcolor='#FF0000'>"+updatebutton+" " +cancel+"</td>";
		  $('#createinput').remove();
		  $('#'+edittrid).html(tdstr);
	   });
Ps.
e buna si varianta lui MarPlo "Mai usor ar fi sa le controlezi gandurile." :)
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

andras Mesaje: 430
Si la Edit poti folosi input type="number". Faptul sa nu-ti apare nimic este pentru ca variabila nu este corect formatata, ea trebuie sa fie de tip numeric inainte de preluarea in input type='number. In JavaScript poti forta conversia variabilei ,' cu functia Number() care converteste de la string la numeric, vezi http://www.w3schools.com/jsref/jsref_number.asp

MarPlo Mesaje: 4343
Salut
Poti sa faci acea valoare cu virgula din sir de tip "1.843,33" in codul javascript ca numar valid (inlocuind virgula cu punct) si o adaugi in <input type="number">.
Incearca asa in script-ul tau:

Cod: Selectaţi tot

//...
var suma = $(tds[3]).html();
suma = suma.match(/,/) ? suma.replace('.', '').replace(',', '.')*1 : suma*1;
//...
tdstr +="<td bgcolor='#FF0000'> <input type='number' class='suma' name='suma' value='" +suma+ "' placeholder='suma' step="any" /></td>";
Ps.
e buna si varianta lui MarPlo "Mai usor ar fi sa le controlezi gandurile."
- Gandurile pot fi controlate prin cuvinte.

ionatan Mesaje: 94
Multumesc mult MarPlo,
Am rezolvat cu corectarea codului javascript de mai sus
Cumpără adevărul, şi nu-l vinde, înţelepciunea, învăţătura şi priceperea.
https://www.crestinmultimedia.com/

Subiecte similare