Загрузка результатов пользовательского поиска Google без обновления страницы

Я хотел бы отправить пользовательский поисковый запрос Google без перезагрузки / обновления всей HTML-страницы. Я использую последнюю версию v2 gcs с надписью «Только результаты». раскладка.

Загрузка GCS API, в любом месте над формой поиска

<code><script src="//www.google.com/jsapi" type="text/javascript"></script>
<script>
    google.load('search', '1',
        {language : 'en', style : google.loader.themes.V2_DEFAULT});
</script>
</code>

Моя форма пользовательского поиска

<code><form onsubmit="return executeQuery();" id="cse-search-box-form-id">
    <input type="text" name="q" id="cse-search-input-box-id" size="25" autocomplete="off"/>
    <input type="submit" id="site-search-submit" value="search"/>
</form>
</code>

Скрипт результатов gcs, размещенный там, где нужны результаты поиска

<code><div id="cse" style="width: 100%;">Loading</div>

<script src="http://www.google.com/jsapi" type="text/javascript"></script>

<script type="text/javascript"> 

    google.load('search', '1', {language : 'en', style : google.loader.themes.V2_DEFAULT});
    google.setOnLoadCallback(function() {
        var customSearchOptions = {};  
        var customSearchControl = new google.search.CustomSearchControl(
       'UNIQUE-API-KEY', customSearchOptions);
        customSearchControl.setResultSetSize(google.search.Search.FILTERED_CSE_RESULTSET);
        var options = new google.search.DrawOptions();
        options.setAutoComplete(true);
        options.enableSearchResultsOnly(); 
        customSearchControl.draw('cse', options);
        function parseParamsFromUrl() {
            var params = {};
            var parts = window.location.search.substr(1).split('\x26');
            for (var i = 0; i < parts.length; i++) {
                var keyValuePair = parts[i].split('=');
                var key = decodeURIComponent(keyValuePair[0]);
                params[key] = keyValuePair[1] ?
                    decodeURIComponent(keyValuePair[1].replace(/\+/g, ' ')) :
                    keyValuePair[1];

            }

            return params;

        }

        var urlParams = parseParamsFromUrl();
        var queryParamName = "q";
        if (urlParams[queryParamName]) {
            customSearchControl.execute(urlParams[queryParamName]);

        }

    }, true);

</script>
</code>

Любая помощь приветствуется.

Спасибо

UPDATE

Я реализовал,

<code>customSearchControl.execute(urlParams[queryParamName]);
</code>

и теперь моя форма поиска выглядит следующим образом:

<code><form onsubmit="customSearchControl.execute(urlParams[queryParamName]);" id="cse-search-box-form-id">
    <input type="text" name="q" id="cse-search-input-box-id" size="25" autocomplete="off"/>
    <input type="submit" id="site-search-submit" value="search"/>
</form>
</code>

Однако выполнение поиска по-прежнему обновляет всю страницу, что приводит к тому, что мое первоначальное форматирование html превращается в хаос до того, как будут запущены сценарии jquery.

Спасибо

UPDATE

Я добавил все варианты следующего в многочисленных комбинациях, но либо обновляется вся страница, либо ничего не происходит вообще.

<code><form onsubmit="return executeQuery(); return false;" id="cse-search-box-form-id">

<form onsubmit="executeQuery(); return false;" id="cse-search-box-form-id">

<form onsubmit="return false; executeQuery();" id="cse-search-box-form-id">

<form onsubmit="return false; return executeQuery();" id="cse-search-box-form-id">

<form onsubmit="customSearchControl.execute(urlParams[queryParamName]); return false;" id="cse-search-box-form-id">

<form onsubmit="return executeQuery(); event.preventDefault();" id="cse-search-box-form-id">

<form onsubmit="customSearchControl.execute(urlParams[queryParamName]); event.preventDefault();" id="cse-search-box-form-id">

<form onsubmit="customSearchControl.execute(urlParams[queryParamName]); event.stopPropagation();" id="cse-search-box-form-id">
</code>

и так далее...

Кто-нибудь имеет опыт работы с этим? А как насчет json API для дальнейшей настройки? Это решило бы проблему обновления страницы как-нибудь?

Спасибо

Ответы на вопрос(2)

Ваш ответ на вопрос