C# 禁用Javascript时使用Javascript提交表单

C# 禁用Javascript时使用Javascript提交表单,c#,javascript,stringbuilder,C#,Javascript,Stringbuilder,下面是我用来将ASP.NET中的表单发布到另一个页面的代码… 只要启用了javascript,它就可以正常工作,但在禁用javascript时停止 StringBuilder sb = new StringBuilder(); sb.Append("<html>"); sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>"); sb.AppendFormat("<form name='

下面是我用来将ASP.NET中的表单发布到另一个页面的代码…
只要启用了javascript,它就可以正常工作,但在禁用javascript时停止

StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>",postbackUrl);
sb.AppendFormat("<input type='hidden' name='id' value='{0}'>", id);
// Other params go here
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");

Response.Write(sb.ToString());

Response.End();
StringBuilder sb=新建StringBuilder();
某人加上(“”);
sb.AppendFormat(@“);
sb.AppendFormat(“,postbackUrl);
sb.AppendFormat(“,id”);
//其他的女人都到这里来了
某人加上(“”);
某人加上(“”);
某人加上(“”);
写(某人写的东西);
Response.End();

好吧,您正在使用javascript发布表单

onload='document.forms[“form”“].submit()'

因此,当禁用javascript时,您的代码将无法执行。
一切正常(或不正常)。

好吧,您正在使用javascript发布表单

onload='document.forms[“form”“].submit()'

因此,当禁用javascript时,您的代码将无法执行。
一切正常(或不正常)。

它不正常的原因是您使用JavaScript提交表单

onload='document.forms[“form”“].submit()'

上面的代码是javascript

StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>",postbackUrl);
sb.AppendFormat("<input type='hidden' name='id' value='{0}'>", id);
// Other params go here
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");

Response.Write(sb.ToString());

Response.End();

您也可以为未启用JavaScript的用户添加一个submit按钮,上面写着“单击以继续”,但为启用JavaScript的用户保留OnLoad

它不起作用的原因是您正在使用JavaScript提交表单

onload='document.forms[“form”“].submit()'

上面的代码是javascript

StringBuilder sb = new StringBuilder();
sb.Append("<html>");
sb.AppendFormat(@"<body onload='document.forms[""form""].submit()'>");
sb.AppendFormat("<form name='form' action='{0}' method='post'>",postbackUrl);
sb.AppendFormat("<input type='hidden' name='id' value='{0}'>", id);
// Other params go here
sb.Append("</form>");
sb.Append("</body>");
sb.Append("</html>");

Response.Write(sb.ToString());

Response.End();

您也可以为未启用JavaScript的用户添加一个submit按钮,上面写着“单击以继续”,但为启用JavaScript的用户保留OnLoad

body标记中嵌入了一个onLoad事件处理程序,它是JavaScript(并且只能是JavaScript)。如果关闭JavaScript,它显然无法工作。您可以通过添加一个按钮来提交表单,或者添加一个noscript标记来告诉人们,如果不启用JavaScript,它将无法工作。body标记中嵌入了一个onLoad事件处理程序,它是JavaScript(并且只能是JavaScript)。如果关闭JavaScript,它显然无法工作。你可以通过添加一个按钮来提交表单,或者,添加一个noscript标记来告诉人们,如果没有启用JavaScript,它将无法工作。唯一的问题是,我不能这样做,因为它正在内部页面中使用,并且无法向用户显示页面。你说的内部页面是什么意思?它在iFrame中吗?不知何故,用户必须加载页面,因此您可能需要解决并向不支持JavaScript的用户显示一个按钮。我不认为你能在没有JavaScript的情况下自动提交表单,除非你强迫用户按下按钮。考虑到这种情况,可能需要进行一些重新设计,或者您可能希望向未启用JavaScript的用户显示错误消息。唯一的问题是,我无法这样做,因为它正在内部页面中使用,并且无法向用户显示页面。您所说的内部页面是什么意思?它在iFrame中吗?不知何故,用户必须加载页面,因此您可能需要解决并向不支持JavaScript的用户显示一个按钮。我不认为你能在没有JavaScript的情况下自动提交表单,除非你强迫用户按下按钮。可能需要进行一些重新设计以适应此场景,或者您可能希望向未启用JavaScript的用户显示错误消息。