a_n_d_y
Гуру форума
- Регистрация
 - 26 Мар 2006
 
- Сообщения
 - 470
 
- Реакции
 - 62
 
- Автор темы
 - #1
 
Есть форма поиска 
	
	
	
		
У пользователей с включенным js (остальные проходят мимо этого шага) вызывается вот эта функция
	
	
	
		
 Далее обрабатываем запрос 
	
	
	
		
Вроде все нормуль работает. Но через аякс в ссылке вылазят вопросительные знаки перед айди
Для просмотра ссылки Войдиили  Зарегистрируйся Конечно можно их в обработке убить, но как-то не очень хорошо все смотрится. Есть идеи по решению проблемы?
PS Использую prototypejs...
	
		
			
		
		
	
				
			
		HTML:
	
	<div id="search_div">
<form action="/search_id" onsubmit="search_id(this);return false;">
<table width="100%"><tr>
<td>Метро</td>
<td>
<select name="metro">
  {foreach key=key item=item from=$metro}
    <option value="{$key}"> {$item}
  {/foreach}
</select>
</td>
<td>Цена до (руб.)</td>
<td><input type="text" name="price"/></td>
<td>Кол-во комнат</td>
<td><input type="text" name="rooms"/></td>
</tr>
<tr>
<td align="right" colspan="6">
<input type="hidden" name="type" value="app"/>
<input type="submit" value="Поиск"/></td>
</tr>
</table>
</form>
</div>
	
		HTML:
	
	function search_id(f){
	var val=$(f).serialize();
	new Ajax.Request('/search_id/'+val.replace(/&/g,"*"), {
  	method: 'post',
  	onSuccess: function(transport) {
  		window.location.assign('/search/'+transport.responseText);
  	}
	});
}
	
		PHP:
	
		function search_id($args){
		if (isset($args[0])){
			foreach(explode("*",$args[0]) as $v){
				$el=explode("=",$v);
				$n[$el[0]]=$el[1];
			}
			$type=$n['type'];
			unset($n['type']);
			$query=serialize($n);
			$this->m['db']->query("insert into search values(NULL, '$query', '$type', '".mktime()."')");
			echo $this->m['db']->insert_id();
		}
		else {
			$type=$_POST['type'];
			unset($_POST['type']);
			$query=serialize($_POST);
			$this->m['db']->query("insert into search values(NULL, '$query', '$type', '".mktime()."')");
			header("Location: /search/" . $this->m['db']->insert_id());
		}
	}
	Для просмотра ссылки Войди
PS Использую prototypejs...