none
検索エンジンの検索ボックスを埋め込みたい RRS feed

  • 質問

  • SharePoint OnlineのチームサイトのTop画面に検索エンジンの検索ボックスを埋め込み検索ボックスに入力された情報を外部サイトへPostしたいのですが、埋め込みは出来ましたが値がPostされませんでした。対応策があればご教授ください。
    2018年12月10日 12:20

回答

  • スクリプト エディター Web パーツで form タグを入れると、もともと ASP.NET としてポストバックするために存在する form タグと入れ子になってしまい HTML として無効な形になってしまいます。

    たとえば、JavaScript で疑似的に form を作って GET で送ってみてはどうでしょうか?

    <!-- Google  -->
    
    <table bgcolor="#FFFFFF">
    <tr>
        <td>
            <a href="https://www.google.co.jp">
            <img src="https://www.google.co.jp/logos/Logo_40wht.gif" border="0" alt="Google" align="absmiddle"></a>
            <input id="queryWord" type=text name=q size=31 maxlength=255 value="" onkeypress="if(event.keyCode==13){submitForm();return false;}">
            <input type=button name=btnG value="Google 検索" onclick="submitForm()">
        </td>
    </tr>
    </table>
    <script type="text/javascript">
        function submitForm(){
            var form=document.createElement("form");
            form.action="https://www.google.co.jp/search";
            form.method="GET";
    
            var q=document.createElement("input");
            q.name="q"
            q.value=document.getElementById("queryWord").value;
    
            if(q.value==""){return false;}
    
            form.appendChild(q);
            document.body.appendChild(form);
    
            form.submit();
        }
    </script>
    
    <!-- Google -->

    例としてこんな感じです。


    2018年12月14日 2:19

すべての返信

  • どのような検索エンジンにどのような方法で POST しようとしたのでしょうか??
    2018年12月12日 3:07
  • スクリプト エディターWebパーツを利用して以下HTMLを埋め込んでいます。

    [Google 検索]ボタン(Submit)をクリックする事で、<form>タブ内の属性をPostしています。


    <!-- Google  -->

    <form method=get action="google URL/search">

    <table bgcolor="#FFFFFF"><tr><td>

    <a href="google URL">

    <img src="google URL/logos/Logo_40wht.gif" border="0" alt="Google" align="absmiddle"></a> <input type=text name=q size=31 maxlength=255 value=""> <input type=hidden name=ie value=Shift_JIS> <input type=hidden name=oe value=Shift_JIS> <input type=hidden name=hl value="ja"> <input type=submit name=btnG value="Google 検索">

    </td></tr></table>

    </form>

    <!-- Google -->


    2018年12月13日 10:47
  • スクリプト エディター Web パーツで form タグを入れると、もともと ASP.NET としてポストバックするために存在する form タグと入れ子になってしまい HTML として無効な形になってしまいます。

    たとえば、JavaScript で疑似的に form を作って GET で送ってみてはどうでしょうか?

    <!-- Google  -->
    
    <table bgcolor="#FFFFFF">
    <tr>
        <td>
            <a href="https://www.google.co.jp">
            <img src="https://www.google.co.jp/logos/Logo_40wht.gif" border="0" alt="Google" align="absmiddle"></a>
            <input id="queryWord" type=text name=q size=31 maxlength=255 value="" onkeypress="if(event.keyCode==13){submitForm();return false;}">
            <input type=button name=btnG value="Google 検索" onclick="submitForm()">
        </td>
    </tr>
    </table>
    <script type="text/javascript">
        function submitForm(){
            var form=document.createElement("form");
            form.action="https://www.google.co.jp/search";
            form.method="GET";
    
            var q=document.createElement("input");
            q.name="q"
            q.value=document.getElementById("queryWord").value;
    
            if(q.value==""){return false;}
    
            form.appendChild(q);
            document.body.appendChild(form);
    
            form.submit();
        }
    </script>
    
    <!-- Google -->

    例としてこんな感じです。


    2018年12月14日 2:19
  • 少しカスタマイズしましたが、無事 要望通りに構築することが出来ました。

    アドバイスありがとうございました!大変助かりました。

    2018年12月19日 4:05
  • 無事に実現できたようで良かったです。
    もしよろしければ「回答済み」マークを付けていただけないでしょうか?

    ご協力をお願いします。

    2018年12月20日 6:27