[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Сложная функция в форме ввода
Страницы: 1, 2
Владимир55
Возникла необходимость осуществить ввод информации в форму и без перезагрузки проверить результат ввода. При неудаче вывести соответствующее сообщение, а при успехе записать и перейти на индексную страницу папки, в которой расположен скрипт.

Функцию я позаимствовал в наборе скриптов, но, как мне кажется, она излишне сложна. Наверняка из нее можно многое удалить, но у меня это не получается.

Другая проблема - не работает переход.

Как бы все это справить?

Вот код страницы с формой:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta
http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>
Форма ввода</title>

<!-- jQuery -->
<script type="text/javascript" src="jquery.js"></script>
<script
type="text/javascript" src="js/jquery.simplemodal.js"></script>
<script
src='js/jquery.form.js'></script>

<script>
function
openWindow(module, id, success_href){
$('#modalContainer').modal({onShow: function (dialog) {
$.getJSON('json.php?id='+id+'&module='+module, function(data){
$.each(data, function(key, val){
switch(key){
case 'options':
var options_html = '';
var names_length = [];
var options_arr = $.parseJSON(val);
$.each(options_arr, function(id, name){
options_html+='<option value="'+id+'">'+name+'</option>';
names_length.push(name.length);
});
$('#gruppa').css('width',names_length.max()*9+'px');
$('#gruppa').html(options_html);
break;
case 'group_id_old':
$("#gruppa [value='"+val+"']").attr("selected", "selected");
break;
default:
$("#"+key).val(val);
break;
}
}
);
});
if(success_href!='undefined'){
$("input[name='success_href']").val(success_href);
}
}}
);
};
var options = {
target:"#output",
success: function(data){
if($(data).attr("id")=='success'){
$.modal.close();
}
}
}
;
</script>



</head>

<body
bgcolor="#FFFFFF">

<form
action="322.php" method="post" onsubmit="$(this).ajaxSubmit(options);return false;">
<input
type="text" name="abc1">
<input
type="text" name="abc2">
<input
type=submit value="OK">
</form>

<br />
<br />

<table
width="100%" bgcolor="#F2FFFF" >
<tr>
<td
style="text-align:center;" colspan="2">
<div
id="output"></div>
</td>
</tr>
</table>

А вот обработчик:
<?php


$abc1 = $_POST["abc1"];
$abc2 = $_POST["abc2"];

if (!$abc1) die ('<br />Ошибка ввода<br />');

file_put_contents('abc1.txt', $abc1);
file_put_contents('abc2.txt', $abc2);


// Переадресация при успешном сохранении
header('Location: /detal/');
exit;

Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.