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);

在 Android 设备上呈现 Default.aspx 页面时,每个值都返回为null(在页面上打印为“{Blank}”)。我还尝试使用 jQuery 结构化提交提交表单:$("#myForm").submit();但结果相同。

您可以提供的任何帮助将不胜感激。

蒂亚!

4

0 回答 0