Не взема всички променливи от JS-то

sentenello

Registered
Здравейте,
Имам 2 файла в единия е JS, а другия прави заявката.

Ето код от файла с JS-то.
Код:
<script type="text/javascript">
	 $(function() {
	 $("#register").click(function(){
				var name =$("#name").val();
				var pass =$("#pass").val();
				var cpass =$("#cpass").val();
				var email =$("#email").val();
				var imenata =$("#imenata").val();
				var pol =$("#pol").val();
				var godina =$("#godina").val();
				var grad =$("#grad").val();
				$("<img src='../football/registraciq/5-1.gif' id='loading' alt='loading' />").appendTo("#result");
				$.ajax({
					url: "/football/registraciq/regdone.php",
					type: "POST",
					data: "name=" + name + "&email=" + email + "&pass=" + pass + "&cpass=" + cpass + "&imenata=" + imenata + "&pol=" + pol + "&godina=" + godina + "&grad=" + grad,
					success: function(result){
						$("#result").hide().html(result).fadeIn("slow");
					}
				});
				return false;
			});
		});
	 </script>
..... надоло ми е таблицата с полетата name,pass и т.н.

В другия файл имам
Код:
$username = $_POST['name']; 
$password = $_POST['pass']; 
$cpassword = $_POST['cpass'];
$ime = $_POST['imenata']; 
$city = $_POST['grad']; 
$email = $_POST['email']; 
$year = $POST['godina'];
$pol = $_POST['pol'];

Проблема ми е, че само променливата $username присвоява $_POST[name], а всички други не присвояват никакви стойности.
 
Пробвай в js кода да напишеш alert(pass + ' ' + cpass), за да видиш дали изобщо взема стойностите. И ако дадеш html кода на таблицата може да помогне.. :)
 
FestarBG каза:
Пробвай в js кода да напишеш alert(pass + ' ' + cpass), за да видиш дали изобщо взема стойностите. И ако дадеш html кода на таблицата може да помогне.. :)

Пробвах това което ми каза и ми изкочи Alert прозорче.

ето ми я структурата на таблицата.

Код:
<table class="registraciq" align="center"> 
	<tr >
		<td width="35%" >Потребителско име<span style="color: red;">*</span>: </td>
		<td><input type="text"  columns="5" name="name"  size="22" style="width: 252px;color:	#707070;font-size: 10px;" onblur='showHint(this.value)' id="name" > <span id="txtHint" valign="middle"></span></td>
	</tr> 
	<tr >
		<td>Парола/<span style="color: red;">*</span>: </td>
		<td><input type="password" maxlength="25" name="pass" style="width: 252px;color:	#707070;font-size: 10px;" id="pass"></td>
	</tr>
	<tr >
		<td >Повтори паролата<span style="color: red;">*</span>:</td>
		<td><input type="password"  maxlength="25" name="cpass"  style="width: 252px;color:	#707070;font-size: 10px;" id="cpass"></td>
	</tr> 
	<tr >
		<td >Ел.Поща:<span style="color: red;">*</span>:</td>
		<td><input type="text" maxlength="25" name="email"  style="width: 252px;color:	#707070;font-size: 10px;" id="email"></td>
	</tr>
	<tr >
		<td >Трите имена<span style="color: red;">*</span>: </td>
		<td><input type="text" maxlength="100" name="imenata" id="imenata" style="width: 252px;color:	#707070;font-size: 10px;" ></td>
	</tr>
	<tr >
		<td >Пол:<span style="color: red;">*</span>:</td>
		<td><input type="radio" name="pol" value="Man" id="pol" checked >Мъж<input type="radio" name="pol" value="Woman" id="pol">Жена</td>
	</tr>
	<tr >
		<td >Година на раждане<span style="color: red;">*</span></td>
		<td><SELECT NAME="godina"  id="godina">
<OPTION SELECTED VALUE="">Година</OPTION>

не е цялата разбирасе :)
 
Виж дали ти е правилен пътя до php файла. Също в него дай едно print_r($_POST) само за тест.Използвай Firebug, може да ти покаже нещо.
Интересното е, че при мен кода работи. Пробвах го с print_r и ми връща стойностите, които съм написал, а за полетата, които ги нямам връща стой ности undefined.
localhost каза:
Array ( [name] => ime => undefined [pass] => parola [cpass] => parola2 [imenata] => undefined [pol] => undefined [godina] => undefined [grad] => undefined ) [/quote]
 
Когато направя в JS-to
Код:
url: "/football/registraciq/regdone.php",
Пътя да е пълен си работи, но не като AJAX, а ми го отваря в нов прозорец.
 
Когато направя това
Код:
"&email=" + email +
на
Код:
"$email=" + email +

Ми извежда стойноста, но я извежда така
$email=(стойноста)[/code]
 
Кода ми изглежда наред, не знам защо при теб дава грешка а при колегата работи перфектно. Пробвай да смениш начина по който подаваш параметрите към jQuery.ajax. Направи го така:
data: { 'name': name, 'pass': pass, 'cpass': cpass } и тнт :)
И кажи, когато изпробва теста с Alert прозореца, извади ли ти текста, който трябваше или беше празен алерт прозорец ?
 
Alert прозореца беше празен.

Кода който ми казваш да изпробвам, ще го изпробвам по-късно, че сега отивам на работа ;)
 
FestarBG каза:
Пробвай в js кода да напишеш alert(pass + ' ' + cpass), за да видиш дали изобщо взема стойностите. И ако дадеш html кода на таблицата може да помогне.. :)

Като сложа alert-а и в алерт прозореца ми изкарва стойностите.
 
F1r3Fl3x каза:
Кода ми изглежда наред, не знам защо при теб дава грешка а при колегата работи перфектно. Пробвай да смениш начина по който подаваш параметрите към jQuery.ajax. Направи го така:
data: { 'name': name, 'pass': pass, 'cpass': cpass } и тнт :)
И кажи, когато изпробва теста с Alert прозореца, извади ли ти текста, който трябваше или беше празен алерт прозорец ?

Благодаря ти. ще ти дам +1, но преди това да не отварям нова тема би ли ми казал как да взема селектирания пол.

ето хтмл кода
Код:
<td><input type="radio" name="pol" value="Man" id="pol"  >Мъж<input type="radio" name="pol" value="Woman" id="pol">Жена</td>

и Също така ако може да ми кажеш как се взема селектираното поле от
<SELECT> меню.
 
За пола ще стане така:
Код:
$("input[name='pol']:checked").val();

А за select-а става по обикновения начин:
Код:
$('#ид_на_select').val();
:)
 
F1r3Fl3x каза:
За пола ще стане така:
Код:
$("input[name='pol']:checked").val();

А за select-а става по обикновения начин:
Код:
$('#ид_на_select').val();
:)

За чекбокса стана както ми каза, но за селекта не става по обикновенния начин.
Не трябва ли да е нещо подобно като това което ми даде за pol-a?
 
F1r3Fl3x каза:
Хмм, пробвай така тогава:
Код:
$('#ид_на_select:checked').val();

и така и
Код:
$('#ид_на_select:selected').val();
Код:
$('#ид_на_select:option').val();
не става :o
 
Хм, проблема е при теб!
Нали заместваш ид_на_select с истинското ID на селектбокса ?
Иначе трябва всичко да работи както трябва!
 
F1r3Fl3x каза:
Хм, проблема е при теб!
Нали заместваш ид_на_select с истинското ID на селектбокса ?
Иначе трябва всичко да работи както трябва!

Много ясно че си замествам id-na-select с истинското ИД :)

Хм... интересна работа, ако се сетиш нещо пиши, че зациклих на този селект
 
Не иска и не иска.
Ето ти целия JS и хтмл кода да видиш дали не съм направил някоя минимална грешка която да води до тези главоболия.
JS
Код:
<script type="text/javascript">
	 $(function() {
	 $("#register").click(function(){
				var name =$("#name").val();
				var pass =$("#pass").val();
				var cpass =$("#cpass").val();
				var email =$("#email").val();
				var imenata =$("#imenata").val();
				var pol =$("input[name='pol']:checked").val();
				var grad =$("#grad").val();
				var godina =$("#godina").val();
				$("<img src='/football/registraciq/5-1.gif' id='loading' alt='loading' />").appendTo("#result");
				$.ajax({
					url: "/football/registraciq/regdone.php",
					type: "POST",
					data: { 'name': name, 'pass': pass, 'cpass': cpass,'email':email,'imenata':imenata,'pol':pol,'godina':godina },
					success: function(result){
						$("#result").hide().html(result).fadeIn("slow");
					}
				});
				return false;
			});
		});
	 </script>

html
Код:
<td >Година на раждане<span style=\"color: red;\" >*</span></td>
		<td><SELECT NAME=\"godina\"  id=\"godina\" >
<OPTION >Година</OPTION>
<OPTION>1950</OPTION><OPTION>1951</OPTION><OPTION>1952</OPTION><OPTION>1953</OPTION><OPTION>1954</OPTION>
<OPTION>1955</OPTION><OPTION>1956</OPTION><OPTION>1957</OPTION><OPTION>1958</OPTION><OPTION>1959</OPTION>
<OPTION>1960</OPTION><OPTION>1961</OPTION><OPTION>1962</OPTION><OPTION>1963</OPTION><OPTION>1964</OPTION><OPTION>1965</OPTION><OPTION>1966</OPTION><OPTION>1967</OPTION><OPTION>1968</OPTION><OPTION>1969</OPTION><OPTION>1970</OPTION><OPTION>1971</OPTION><OPTION>1972</OPTION><OPTION>1973</OPTION><OPTION>1974</OPTION><OPTION>1975</OPTION><OPTION>1976</OPTION><OPTION>1977</OPTION><OPTION>1978</OPTION><OPTION>1979</OPTION><OPTION>1980</OPTION><OPTION>1981</OPTION><OPTION>1982</OPTION><OPTION>1983</OPTION><OPTION>1984</OPTION><OPTION>1985</OPTION><OPTION>1986</OPTION><OPTION>1987</OPTION><OPTION>1988</OPTION><OPTION>1989</OPTION><OPTION>1990</OPTION><OPTION>1991</OPTION><OPTION>1992</OPTION><OPTION>1993</OPTION><OPTION>1994</OPTION><OPTION>1995</OPTION><OPTION>1996</OPTION><OPTION>1997</OPTION><OPTION>1998</OPTION><OPTION>1999</OPTION><OPTION VALUE='2000'>2000</OPTION>
</SELECT></td>
 
Току що си направих експеримент и разбрах, че стойноста се взема но ajax data не я обработва.

ето и какво направих и какво ми изкара.
Код:
var godina = $('#godina :selected').text();
alert (godina);

Изведе ми селектираното в алерт прозореца, но изглежда проблема е тук
Код:
data: { 'name': name, 'pass': pass, 'cpass': cpass,'email':email,'imenata':imenata,'pol':pol,'godina':godina },

godina не взима стойността.
 

Back
Горе