jqgrid, отправьте строку запроса в мой файл data.php - PullRequest
0 голосов
/ 06 февраля 2012

Привет, я использую jqgrid, чтобы показать некоторую информацию в сетке.Но у меня есть проблема, и я не знаю, как ее решить.

У меня есть следующая функция для заполнения моего jqgrid:

<script type="text/javascript">
$(function(){
  $("#list").jqGrid({
    url:'data.php?q=1',
    datatype: 'xml',
    mtype: 'GET',
    colNames:['Fabricante','Codigo', 'Titulo','Descripcion'],
    colModel :[ 
      {name:'fabricante', index:'fabricante', width:137}, 
      {name:'codigo', index:'codigo', width:100}, 
      {name:'titulo', index:'titulo', width:250}, 
      {name:'descripcion', index:'descripcion', width:400}
    ],
    pager: '#pager',
    rowNum:1000,
    rowList:[10,20,30],
    sortname: 'invid',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    height: "256px",
    caption: 'Cursos'
  }); 
}); 
</script>

это мое тело:

<form name="form" action="CourseSearch.html" method="get">
   <input type="text" class="search-fields" id="fab"/>
   <input class="" type="submit" name="Submit2" value="Search" />
</form>
<table id="list">
    <tr>
        <td><td/>
    </tr>
</table> 
<div id="pager">
</div> 

Я просто хочу знать, как отправить строку на мою страницу data.php, используя мою HTML-форму, потому что мне нужно использовать эту строку в запросе mysql для получения данных.

Спасибо


Это новый код:

<script type="text/javascript">
$(function(){
  $('#search').click(function () {
    $("#list").trigger('reloadGrid', [{page: 1, current: true}]);
  });
  $("#list").jqGrid({
    url: 'data.php?q=1',
    postData: {
        mySearch: function () { return $('#fab').val(); }
    },
    datatype: 'xml',
    mtype: 'get',
    colNames:['Fabricante','Codigo', 'Titulo','Descripcion'],
    colModel :[ 
      {name:'fabricante', index:'fabricante', width:137}, 
      {name:'codigo', index:'codigo', width:100}, 
      {name:'titulo', index:'titulo', width:250}, 
      {name:'descripcion', index:'descripcion', width:400}
    ],
    pager: '#pager',
    rowNum:1000,
    rowList:[10,20,30],
    sortname: 'invid',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    height: "256px",
    caption: 'Cursos'
  }); 
}); 
</script>

Еще одно изменение

функция

<script type="text/javascript">
$(function(){
  $('#search').click(function () {
    $("#list").trigger('reloadGrid', [{page: 1, current: true}]);
    return false;
  });
  $("#list").jqGrid({
    url: 'data.php?',
    postData: {q: 1, mySearch: function () { return $('#fab').val(); }},
    datatype: 'xml',
    mtype: 'get',
    colNames:['Fabricante','Codigo', 'Titulo','Descripcion'],
    colModel :[ 
      {name:'fabricante', index:'fabricante', width:137}, 
      {name:'codigo', index:'codigo', width:100}, 
      {name:'titulo', index:'titulo', width:250}, 
      {name:'descripcion', index:'descripcion', width:400}
    ],
    pager: '#pager',
    rowNum:1000,
    rowList:[10,20,30],
    sortname: 'invid',
    sortorder: 'desc',
    viewrecords: true,
    gridview: true,
    height: "256px",
    caption: 'Cursos'
  }); 
}); 
</script>

новая форма

<fieldset style="border: none;">
   <input type="text" class="search-fields" id="fab"/>
   <input class="" type="submit" name="Submit2" value="Search" />
</fieldset>  

1 Ответ

0 голосов
/ 06 февраля 2012

Если я правильно понимаю, вы хотите обновить сетку, используя поле ввода #fab при нажатии на кнопку «Submit2».

Поскольку вам не нужно отправлять какие-либо параметры непосредственно на URL, который выможно сначала изменить код формы на

Поиск

В качестве обработчика события нажатия на кнопку «Поиск» вы можете сделать

$('#search').click(function () {
    $("#list").trigger('reloadGrid', [{page: 1, current: true}]);
});

В концевам необходимо добавить в jqGrid дополнительный параметр postData, например, следующий

postData: {
    mySearch: function () { return $('#fab').val(); }
}

(см. здесь для получения дополнительной информации).В случае, если параметр mySearch будет отправлен на URL 'data.php?q=1'.Поскольку вы использовали mtype: 'GET', параметр будет добавлен к URL-адресу, например 'data.php?q=1&mySearch=test', например

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...