|
|
|
| Здравствуйте! Помогите пожалуйста бъюсь долгое время и ни как. Форма должна заполняться посетителями и уже заполненная отправляется в БД. Так вот при загрузке сразу подгружаются марки а/м далее после выбора марки, модели. Все работает исправно но при отправке, обработчик add.php мне выдает "введите модель" хотя она выбрана.
вот часть формы:
<form method="post" name="" action="add.php" >
<script>
function AjaxFunc ()
{
x = document.getElementById("select");//выбераем наш селект
x_send = x.selectedIndex; //Теперь x_send это то значение которое выбрали
//тут создаю обьект
if(window.XMLHttpRequest){
ajax1 = new XMLHttpRequest();
}
else
if(window.ActiveXObject)
{
ajax1 = new ActiveXObject("Microsoft.XMLHTTP");
}
else {
return;
};
ajax1.open("GET","ajax.php?select="+x_send, true);//делаю опен. Селект передаю через сылку
ajax1.send(null);
ajax1.onreadystatechange = function()// тут обрабатываю то что пришло
{
if (ajax1.readyState == 4 && ajax1.status == 200)
{
a = document.getElementById("data[2]");
a.innerHTML = ajax1.responseText;
};
}
};
</script>
<table align="center" cellpadding="20">
<tr>
<td >
<div class="box10" >марка</div>
<select name="data[1]" size="1" onchange='AjaxFunc()' id="select">
<option make="0"></option>
<?php
require_once ("config.php");
// тут должна быть функция mysql_pconnect
$sql = "SELECT * FROM make ";// выбераю все марки
$sql_result = mysql_query($sql);
$sql_arr = mysql_fetch_array($sql_result);
do {
echo ("<option value='".$sql_arr['id_make']."'>".$sql_arr['name'].
"</option>");
}
while ($sql_arr = mysql_fetch_array($sql_result))
?>
</select>
</td>
<td>
<div class="box10" >модель</div>
<div id="data[2]" ><select disabled="disabled">
<option value="0">выбирите</option>
</select></div>
</td>
</td>....
|
и вот ajax.php
<?php
// тут также должна быть функция mysql_connect
require_once ("config.php");
$sql = "SELECT * FROM model WHERE id_make = ".$_GET['select'] ;
$sql_result = mysql_query($sql);
$sql_fetch_array = mysql_fetch_array($sql_result);
//формирую ответ
echo ("<select name='data[2]' ");
do {
echo ("<option value='".$sql_arr['id_model']."'>".$sql_fetch_array['name']."</option>");
}
while ($sql_fetch_array = mysql_fetch_array($sql_result));
echo ('</select>');
?>
|
Помогите а. | |
|
|
|
|
|
|
|
для: lidil
(14.12.2009 в 01:14)
| | Вставьте в функцию алерт и проверьте значение переменной:
function AjaxFunc ()
{
x = document.getElementById("select");//выбераем наш селект
x_send = x.selectedIndex; //Теперь x_send это то значение которое выбрали
alert (x_send);
...
}
Что показывает? То, что надо? | |
|
|
|
|
|
|
|
для: coloboc66
(14.12.2009 в 11:33)
| | Показывает... но результат тот же. :( "введите модель" | |
|
|
|
|
|
|
|
для: lidil
(14.12.2009 в 23:36)
| | Замените method на GET и изучите строку браузера при сабмите формы.
А вообще глуповато иметь на одной странице <div id="data[2]"> и формировать на той же странице <select name="data[2]"> | |
|
|
|
|
|
|
|
для: АЯ
(15.12.2009 в 01:07)
| | Ничего нового. Только вот. Когда был method="post" add.php выдовал "Введите модель", хотя должно было еще и "назад" со ссылкай на форму, а когда method="get" только "назад" без указания ошибки. Если просто вставить данные в select все работает но вод при подгрузке ни как. Вот add
<?php
$id_vid = strip_tags(stripslashes(substr($_POST['data']['0'],0,10)));
$id_make = strip_tags(stripslashes(substr($_POST['data']['1'],0,10)));
$id_model = strip_tags(stripslashes(substr($_POST['data']['2'],0,10)));
$id_kuz = strip_tags(stripslashes(substr($_POST['data']['3'],0,10)));
$id_gaz = strip_tags(stripslashes(substr($_POST['data']['4'],0,10)));
$id_kpp = strip_tags(stripslashes(substr($_POST['data']['5'],0,10)));
$god = strip_tags(stripslashes(substr($_POST['data']['6'],0,10)));
$km = strip_tags(stripslashes(substr($_POST['data']['7'],0,10)));
$mesta = strip_tags(stripslashes(substr($_POST['data']['8'],0,10)));
$preis = strip_tags(stripslashes(substr($_POST['data']['9'],0,10)));
$d_sw = strip_tags(substr($_POST['data']['24'],0,200));
$famely = strip_tags(substr($_POST['data']['25'],0,20));
$nami = strip_tags(substr($_POST['data']['26'],0,20));
$email = strip_tags(stripslashes(substr($_POST['data']['27'],0,20)));
$password = strip_tags(stripslashes(substr($_POST['data']['28'],0,20)));
$st1 = strip_tags(substr($_POST['data']['29'],0,10));
$st2 = strip_tags(substr($_POST['data']['30'],0,10));
$mob1 = strip_tags(substr($_POST['data']['31'],0,10));
$mob2 = strip_tags(substr($_POST['data']['32'],0,10));
if($_POST['add'] != '') {
if($id_vid != '') {
if($id_make !='') {
if($id_model !='') {
if($id_kuz != '') {
if($id_gaz != '') {
if($id_kpp != '') {
if($god != '') {
if($km != '') {
if($mesta != '') {
if($preis != '') {
if($id_val != '') {
if($email != '') {
if($password != '') {
//Подключаемся к БД.
require_once ("config.php");
$query = "INSERT INTO bd VALUES (NULL,
'".$id_vid."',
'".$id_make."',
'".$id_model."',
'".$id_kuz."',
'".$id_gaz."',
'".$id_kpp."',
'".$god."',
'".$km."',
'".$mesta."',
'".$preis."',
'".$id_val."',
'".$d_sw."',
'".$famely."',
'".$nami."',
'".$email."',
'".$password."',
'".$st1."',
'".$st2."',
'".$mob1."',
'".$mob2."')";
if(mysql_query($query)) { echo "Запись <br/><a href=\"index.php\">добавлена</a>";}
else {echo "Ошибка записи";};
}
else {echo "Введите пароль";}
}
else {echo "Введите email";}
}
else {echo "Введите валюту";}
}
else {echo "Введите цену";}
}
else {echo "Введите количество мест";}
}
else {echo "Введите километраж";}
}
else {echo "Введите год";}
}
else {echo "Введите кпп";}
}
else {echo "Введите топливо";}
}
else {echo "Введите кузов";}
}
else {echo "Введите модель";}
}
else {echo "Введите марку";}
}
else { echo "Введите вид"; }
}
else {echo "<a href=\"form.php\">назад</a>"; };
?>
|
| |
|
|
|
|
|
|
|
для: lidil
(14.12.2009 в 01:14)
| | могу предположить, что у Вас закрывающий тег </form> стоит до закрывающего тега </table>,
если это так, то перенесите его после и должно заработать. | |
|
|
|
|
|
|
|
для: Crux
(15.12.2009 в 08:24)
| | Ерунда, куда бы вы не заткнули этот тег, форма будет отправлена. | |
|
|
|
|
|
|
|
для: sim5
(15.12.2009 в 09:01)
| | форма то будет отправлена, но только те поля которые были изначально, а вот добавленные не будут входить в форму.
и это не ерунда, а так оно и есть! | |
|
|
|
|
|