form.php 파일에 이와 같은 검색 양식이 있습니다. 위대한 작품, 내가 직면하고있는 문제는 내가 클래스/메소드 (함수)를 사용한다는 것입니다. 예를 들어 로고와 마누바를 호출하는 메소드가 있습니다. 위처럼리디렉션하지 않고 페이지 새로 고침
//$this->output is just a method that echos, that's all it does
function header()
{
$this->output('<DIV CLASS="header">');
$this->logo();
include('form.php');
$this->links();
$this->header_clear();
$this->output('</DIV>');
}
는 형태로 완벽하게 보여줍니다,하지만 난 범주를 선택할 때 그것은 form.php 나 소요되며,이 모든 유적.
나는 페이지가 상쾌하지, 문제는 내가 카테고리 값을 가져올 수 없습니다 자바 스크립트없이 여기
onChange="javascript:this.form.action='form.php';
this.form.submit()
알고, 그래서 $ _POST [ '고양이'(form.php는 형태이다) ] 비었다.
다른 페이지로 이동하지 않고 페이지를 새로 고치는 더 좋은 방법은 무엇입니까?
나는이 모든 것이 혼란 스럽다는 것을 안다. 당신이 형성 가고 싶어하지 않는 경우, 그냥 다른 곳으로 갈 수 있도록
<form enctype="multipart/form-data" name="form" id="form" action="form.php"
method="get">
<SELECT name="cat" onChange="javascript:this.form.action='form.php';
this.form.submit()">
<option value="" >Categories</option>
<?php
$z = "0" ;
//Select categories form database
$category =db_select_categories($z);
if(is_array($category))
{
foreach($category as $rowc)
{
$id_cat = htmlentities($rowc['id_cat'], ENT_QUOTES);
$cat_name = htmlentities($rowc['cat_name'], ENT_QUOTES, 'utf-8');
$cat_name = stripslashes($cat_name);
echo "<option style=\"background-color:#FFCC99\" disabled>".$cat_name."
</option>";
$categories = db_select_categories($id_cat);
if(is_array($categories))
{
foreach($categories as $row)
{
$id = htmlentities($row['id_cat'], ENT_QUOTES);
$name = htmlentities($row['cat_name'], ENT_QUOTES, 'utf-8');
$name = stripslashes($name);
if ($cat == $id)
{
echo "<option value='".$id."'selected> ".$name."</option>";
}
else
{
echo "<option value=".$id."> ".$name."</option>";
}
}
}
}
}
echo "</SELECT>";
?>
<div>
<?php
if(!empty($cat))
{
//Outputs a populated select option depending on category
display_search_options($cat);
}
?>
</div>
당신의 탭 이동을 수정하십시오. –
비동기 양식 제출을 수행하려면 AJAX를 사용해야합니다. 그런 다음 해당 호출의 응답을 처리합니다. 이것은 전체 페이지를 새로 고치지 않는 유일한 방법입니다. – evasilchenko
나는 AJAX를 사용하도록 제안 받았지만 이전에는 AJAX를 사용하지 않았다. 나를 가리킬 수있는 링크가 있습니까? –