注册 登录
编程论坛 ASP技术论坛

ASP 提交表单的问题

upUFO 发布于 2009-12-28 09:39, 469 次点击
首先我想实现的功能是这样,提交文表单后表单中的数据任然显示在文本框中,其次是如果数据为空则让表单提交的数据位"文本A"


自己试验了一下做不出来,现在代码如下,以下代码多次提交数据后时候总是会出现两个"文本A"的字符.该怎么解决这个问题呢? 如果有更好的方法欢迎指教
-------------------------------------------------------------------
<html>
<body>
<form method="get">
测试提交:<input name="fname" type="text" value="<%Response.Write(Session("username"))%><%=Request("fname")%>" size="20" />
<input type="submit" value="提交" />
</form>
<%
if Request("fname")="" then Session("username")="文本A"
if Request("fname")<>"" then Session.Contents.Remove("username")
%>
</body>
</html>
2 回复
#2
makebest2009-12-28 19:40
看似很简单, 还是要分析一下: 有三种情况
1 首次加载时, 没有提交数据, 不进行任何处理
2 提交的数据为空时, 设为 "文本A"
3 提交的数据为其他时, 保持原值
注意的问题:
1 逻辑的处理应该在显示之前进行
2 输出的文本要用 server.htmlencode 转换
<html>
<body>
<%
    Dim str
    str = ""
    If request("fname").count>0 Then
        str = request("fname")
        If str = "" then
            str = "文本A"
        End If
    End If
%>
<form method="get">
测试提交:<input name="fname" type="text" value="<%=server.htmlencode(str)%>" size="20" />
<input type="submit" value="提交" />
</form>
</body>
</html>
#3
upUFO2009-12-28 20:15
嗯嗯,受教了

真是非常感谢
1