0

私は非常に混乱していることを告白しなければならず、この問題を解決するために何時間も検索しました. Android デバイスにのみ影響を与えるように見えるため、特にイライラします。Windows (Chrome、Safari、FireFox、IE)、Mac、および iPhone では問題なく動作します。シナリオは次のとおりです。

JavaScript が埋め込まれた標準の HTML ページがあります。

<script language="javascript">
function doSubmit()
{
    // some processing occurs here then the form gets submitted
    document.myForm.submit();
}
</script>
. . .
<form id="myForm" 
    name="myForm" 
    action="/foo/bar/Default.aspx" 
    method="POST" 
    enctype="application/x-www-form-urlencoded" 
    target="about:blank" 
    onsubmit="window.open('', this.target);" >
<!-- Data Entry Fields here... ->
. . .
<!-- Hidden Fields here... ->
<input type="hidden" id="value1" name="value1" />
<input type="hidden" id="value2" name="value2" />
<input type="hidden" id="value3" name="value3" />
</form>
<input type="button" onclick="doSubmit()" value="Click Me">

Default.aspx が開かれ、次のチェックが行われます。

protected void Page_Load(object sender, EventArgs e)
{
    try
    {
        NameValueCollection nvc = Request.Form;

        string frmValue1 = nvc["value1"];
        string frmValue2 = nvc["value2"];
        string frmValue3 = nvc["value3"];
        //
        if (frmValue1 == null)
            frmValue1 = "{Blank}";

        if (frmValue2 == null)
            frmValue2 = "{Blank}";

        if (frmValue3 == null)
            frmValue3 = "{Blank}";
        //
        sMsg = string.Concat(sMsg, string.Format("Value1: {0}", frmValue1), "|");
        sMsg = string.Concat(sMsg, string.Format("Value2: {0}", frmValue2), "|");
        sMsg = string.Concat(sMsg, string.Format("Value3: {0}", frmValue3), "|");
        //
        Response.Write(sMsg);

Default.aspx ページが Android デバイスでレンダリングされると、すべての値が次のように返されますnull(ページに "{Blank}" として出力されます)。また、jQuery 構造化送信を使用してフォームを送信しようとしました$("#myForm").submit();が、結果は同じです。

あなたが提供できるどんな助けも大歓迎です。

ティア!

4

0 に答える 0