Показать сообщение отдельно
  #1 (permalink)  
Старый 05.09.2011, 20:43
Аспирант
Отправить личное сообщение для SunTechnique Посмотреть профиль Найти все сообщения от SunTechnique
 
Регистрация: 29.08.2011
Сообщений: 30

Передача переменных из <form>
привет всем. я тут пытаюсь из формы передать переменные ее элеиментов в ява скрипт и передать это все в PHP обработчик. что бы понятней было что я делаю выпишу код:

<form id="formPostRequestID" name="formPostRequestName" method="post">
          ФИО:
          <p><input type="text" name="textSurname" id="textSurname" value=""/></p>
          <p><input type="text" name="textFirstName" id="textFirstName" value=""//></p>
          <p><input type="text" name="textLastName" id="textLastName" value=""/></p>
          Адрес:
          <p><input type="text" name="textAdress" id="textAdress" value=""/></p>
          Тема запроса:
          <p><input type="text" name="textRequestTheme" id="textRequestTheme" value=""/></p>
          <p>Сообщение:</p>
          <p><textarea name="textRequestData" id="textRequestData" cols="45" rows="10"></textarea></p>
          <p>
</form>
<input type="button" name="btnPost" id="btnPost" value="Отправить" onclick="fOnClkPost(formPostRequestID)" formmethod="post"/>


по кнопке отправить вызывается функция fOnClkPost с ID формы(<form>)

var h;
function fOnClkPost(id){
	var eLen = id.elements.length;
	var queryStr = "http://dreamw/drw/clt_form.php?";
	for(var i = 0; i < eLen; i++){
		queryStr = queryStr + id.elements.item(i).value;
		if(i < (eLen - 1)){queryStr = queryStr + "&";}
	}
	alert('text: ' + queryStr);
	h = new XMLHttpRequest();
	h.open("POST",queryStr,true);
	h.onreadystatechange = fXMLEvent;
	//h.setRequestHeader('Content-Type',  "text/xml");
	//http.onreadystatechange = handleResponse;
	h.send();
}

function fXMLEvent(){
	try{
		if(h.readyState == 4){
			if(h.status == 200){
				alert('h.responseText_1: ' + h.responseText);
			}else{
				//alert("h.statusText " + h.statusText);
			}
		}else{
			//alert('h.responseText 2: ' + h.responseText);
		}
	}catch(e){
		alert('Connection Error ' + e.description + h.readyState);
	}
}


и так, что вы тут видите, ну а видите вы конечно корявое формирование запроса который в итогде будет выглядить примерно так:
dreamw/drw/clt_form.php?surname&firstname&lastname... и т.д

в пхп обработчеке я естественно зная в каком порядке придут переменные просто хочу разделить через explode значения и отправить в БД.
вроде бы все ок, пусть даже и такой корявый запрос, но суть в том что если писать на русском языке получаются кракозябры, то есть непонятная кодировка.
а вообще все же хочется увидеть кто как делается более правильно.
ну и заранее спасибо за предложенные варианты.

Последний раз редактировалось SunTechnique, 05.09.2011 в 20:46.
Ответить с цитированием