[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка полей на заполнение
Страницы: 1, 2
sanchahous
Цитата (Valick @ 3.02.2014 - 21:11)
вот этого
$MaxQuestionId = $MaxQuestionId['id'] + 1;

быть не должно
это "бомба замедленного действия"
__
в целом код полная каша
вам необходимо учиться работать с функциями, инклудами и структурировать код
начните например с функции генерации формы
на входе она должна получать массив переменных, а на выходе должен быть html код, который можно записать в переменную и вывести в определенном месте страницы.

Это первое, что я вообще сделал в програмироние, ну да нужно учится с функциями, классами и обьктами но это уже ООП оно мне почему-то пока не так легко дается....
Valick
про ООП речи пока не идет, освойте обычные функции
а $MaxQuestionId['id'] + 1 - это просто незнание как правильно работать с MySQL

_____________
Стимулятор ~yoomoney - 41001303250491
mvg
jQuery.validation подойдет?
sanchahous
Цитата (mvg @ 4.02.2014 - 12:14)
jQuery.validation подойдет?

Делаю на jquery валидацию:
выдает ошибку :
Uncaught TypeError: Object [object Object] has no method 'validate'

Header файла с формой:
<script type="text/javascript" src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
<
script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/jquery.validate.js"></script>
<
script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.8/localization/messages_ru.js" ></script>
<
script type="text/javascript" src="http://jquery/myscripts.js" ></script>


PHP форма:

<form  method="post" action="/admin/add.php" id="checkForm">   
<?php
/**
* get max question id from questions table
*/

$maxQuestionIdQuery = mysql_query("SELECT max(id) id FROM voprosu");
$MaxQuestionId = mysql_fetch_assoc($maxQuestionIdQuery);
if (!empty($MaxQuestionId['id'])) {
$MaxQuestionId = $MaxQuestionId['id'] + 1;
} else {
$MaxQuestionId = 1;
}
?>
<!--
this field send hidden question id to db -> answers table
-->
<
input type="hidden" name="lastAnswerId" value="<?php echo $MaxQuestionId; ?>">
<!--

this field send questions to db -> question table
-->
<
div id="question"><input class="input-xxlarge" type="text" name="question" value=""/>
<?php
if (!empty($_SESSION['questionMistake'])) {
echo '<p style="margin-left:70%; margin-top:-35px; color:red">' . ($_SESSION['questionMistake']) . '</p>';
unset($_SESSION['questionMistake']);
}
?>
</div>
<
div id="createAnswer">
<
ul id="sites">
<!--

this field send answers to db -> answers table
-->

<
li class="answerButton">
<
input type="button" class="btn btn-lg btn-primary" name="answer[]" id="add" value="Добавить ответ">
</
li>

</
ul>
</
div>
<?php
$lastAnswerIdQuery = mysql_query("SELECT id FROM otvetu ORDER BY id DESC LIMIT 1");
$lastAnswerId = mysql_fetch_assoc($lastAnswerIdQuery);
if (empty($lastAnswerId)) {
$lastId = 0;
} else {
$lastId = $lastAnswerId['id'];
}
?>
<input type="hidden" id="lastId" name="posledniy" value="<?php echo $lastId ?>">
<
script src="http://code.jquery.com/jquery-1.10.1.min.js"></script>
<
script type="text/javascript">
$(document).ready(function()
{
var lastId = $('#lastId').val() * 1;
$('#add').click(function()
{
lastId = lastId + 1;
console.log(lastId)
var str = '<li class="answerInput">';
str += '<input type="text" name="answer[]" value=""> ';
str += '<input type="button" value="remove" class = "remove" > ';
str += '<input type="radio" name="correctAnswerId" value="' + lastId + '">';
str += '</li>';
$('#sites').append(str);
});
$('body').on('click', '.remove', function()
{
$(this).parent('li').remove();
});
});

</
script>

<?php echo '<p >' . ($_SESSION['answerMistake']) . '</p>';
unset($_SESSION['answerMistake']);
?>
<div class="createSubmit"> <input type="submit" class= "btn btn-lg btn-success" /></div>

</
form>


Мой скрипт:

$(document).ready(function(){
$("#checkForm").validate({
rules:{
answer:{
required: true,
minlength: 4,
maxlength: 50
},
question:{
required: true,
minlength: 4,
maxlength: 50
}
}
,
messages:{
answer:{
required: "Это поле обязательно для заполнения",
minlength: "Это поле обязательно для заполнения",
maxlength: "Это поле обязательно для заполнения"
},
question:{
required: "Это поле обязательно для заполнения",
minlength: "Это поле обязательно для заполнения",
maxlength: "Это поле обязательно для заполнения"
}
}
}
);
});
Быстрый ответ:

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