2013-02-10 4 views
0

Я хочу создать страницу формы с проверкой с помощью php и jQuery ajax.
Я скачал JQuery из http://malsup.com/jquery/form/

Формы Страницы:PHP с JQuery: как проверить форму и перейти на следующую страницу

<html> 
<head> 
<script type="text/javascript" src="js/jquery.js"></script> 
<script type="text/javascript" src="js/jquery.form.js"></script> 
<script type="text/javascript"> 
function checkAll(){ 
var errmsg = "" 
document.getElementById("errmsg").style.display = "none"; 

if(document.getElementById("txtbox1").value == ""){ 
    errmsg += "Type your title<br/>"; 
} 

if(document.getElementById("file1").value == ""){ 
    errmsg += "Upload your picture<br/>"; 
} 

if(errmsg != ""){ 
    document.getElementById("errmsg").style.display = "block"; 
    document.getElementById("errmsg").innerHTML = errmsg; 
    return false; 
} 

} 

$(document).ready(function() { 
    var options = { 
    target: '#div2', //Div tag where content info will be loaded in 
    url:'uploadfile.php', //The php file that handles the file that is uploaded 
    beforeSubmit: checkAll, 
    success: function() { 
     //Here code can be included that needs to be performed if Ajax request was successful 
    } 
    }; 

    $('#Form1').submit(function() { 
     $('#Form1').ajaxSubmit(options); 
     return false; 
    }); 
}); 
</script> 
</head> 
<body> 
<span id="errmsg"></span> 
<div id="div2"></div> 
<form name="Form1" id="Form1" method="post" action="next.php" enctype="multipart/form-data"> 
Title <input type="text" name="txtbox1" id="txtbox1" /> 
Picture <input type="file" name="file1" id="file1" /><br/> 
<input type="submit" value="Submit" /> 
</form> 
</body> 
</html> 

Uploadfile.php:

<?php 
if (((@$_FILES["file1"]["type"] == "image/gif") || (@$_FILES["file1"]["type"] == "image/png") 
|| (@$_FILES["file1"]["type"] == "image/jpeg") 
|| (@$_FILES["file1"]["type"] == "image/pjpeg")) 
&& (@$_FILES["file1"]["size"] < 30720)) 
    { 

    } 
else{ 
    echo "Check your file"; 
} 
?> 

Моей проблема:
Я хочу создать проверку для каждого вида компонента, включая загрузку файлов (тип файла и проверка размера), и после заполнения формы пользователь будет перенаправлен на next.php (см. действие формы).
Из-за использования jjery ajax для проверки загрузки файла, действие было изменено на uploadfile.php, и если пользователь заполнил форму, страница никуда не исчезла.
Пожалуйста, помогите мне решить эту проблему.

ответ

0

В uploadfile.php, когда все в порядке, вы можете выводить яваскрипт Перенаправление:

{ 
    echo '<script type="text/javascript">window.location.replace("next.php");</script>'; 
} 

Кстати, обратите внимание, что проверка типа файла не является надежным, так как она определяется браузер (это не обязательно), и его можно легко подделать. Один более безопасный способ проверить, действительно ли файл - это изображение, это проверить, что getimagesize не сработает.

+0

tmuguet, спасибо за ваш ответ. –

Смежные вопросы