图片按钮,使用get方法提交数据的时候遇到的严重问题!(不是只会使用标准控件的来帮忙)

Hikey 2006-11-28 09:16:05
form使用 get方法
提交按钮使用图片按钮
如:
<form id="form1" method="get" action="">
<input type="text" name="textfield" />
<input type="image" name="imageField" src="aaa.gif" />
</form>
点击按钮提交的时候,浏览器会把点击图片的坐标也传给form
地址栏可以看到 textfield=aaa&imageField.x=3&imageField.x=5 之类的东西
而我想得到的仅仅是 textfield的值。

例子可以参见地球上最大的域名注册商的一个whois查询链接。
http://www.enom.com/domains/whois.asp
他使用了图片按钮,也使用了get方法,所以它出现了我一样的问题
你可以随便填一个域名进去,然后点击按钮提交,这时候就可以发现地址栏里多了一些东西:submit.x=30&submit.y=15
而这些数据我根本用不到(虽然可能他会很有用),但是我却怎么都去不掉。
这个问题很普遍,就连微软的 www.live.com上的那个按钮都是!

发现的这问题的原因是我做的一个应用(参见www.hikey.net/wr)想使用一个漂亮的提交按钮。
程序全部是基于url的,而且不希望url里面夹杂着无用的数据
但是使用图片按钮的话就会出现无用的数据。


我的问题是:
1,如何去掉那两个参数? x=11&y=11
我去掉了name属性以为可以,但是...
2,这东西是用来做什么的?
IE firefox opera都这样, w3c规定的?

不用提醒我 onclick="form1.submit()"
我超级讨厌Javascript
...全文
326 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
RexZheng 2006-12-01
  • 打赏
  • 举报
回复
<input type="text" name="textfield" />
<img src="aaa.gif" onclick="document.location='?textfield='+document.getElementsByName('textfield')[0].value" />
RexZheng 2006-12-01
  • 打赏
  • 举报
回复
如果用
<form id="form1" method="get" action="">
<input type="text" name="textfield" />
</form>
<input type="image" name="imageField" src="aaa.gif" onclick="form1.submit()" />
或者用
<form id="form1" method="get" action="">
<input type="text" name="textfield" />
<img name="imageField" src="aaa.gif" onclick="form1.submit()" />
</form>
firefox的支持都会有问题。(点了没反应)

-----------------
你用什么firefox?
我测试了没问题
RexZheng 2006-11-30
  • 打赏
  • 举报
回复

不用提醒我 onclick="form1.submit()"
我超级讨厌Javascript

---------------------------

无解,结帖吧。

还有,不用动不动抬什么微软也解决不了之类的,你说这些话太弱智了
活靶子哥哥 2006-11-30
  • 打赏
  • 举报
回复
<img src=xx.jpg onclick="document.form1.submit();"/>
Hikey 2006-11-30
  • 打赏
  • 举报
回复
To: oldmoon(浪者)

"form使用 get方法,提交按钮使用图片按钮"

麻烦发你的HTML的代码上来看
oldmoon 2006-11-30
  • 打赏
  • 举报
回复
这个和asp.net没什么关系,你去建个有以上代码的html页也是这种情况.
-------------
建了个html页面,没有出现楼主说的这种情况
azurebz 2006-11-30
  • 打赏
  • 举报
回复
帮顶,学习
Hikey 2006-11-30
  • 打赏
  • 举报
回复
To: wlb854(不倒翁)
我压根没用微软的 webform,我的页面没用过一个标准控件
请看清楚我的问题...
这个和asp.net没什么关系,你去建个有以上代码的html页也是这种情况.

看来解决不了了,微软 www.live.com上的那个按钮都这样,看来微软也还没解决.
Hikey 2006-11-30
  • 打赏
  • 举报
回复
其实就算用脚本也解决不好这个问题。
如果用:
<form id="form1" method="get" action="">
<input type="text" name="textfield" />
<input type="image" name="imageField" src="aaa.gif" onclick="form1.submit()" />
</form>
那些 go.x=11&go.y=12仍然存在。

如果用
<form id="form1" method="get" action="">
<input type="text" name="textfield" />
</form>
<input type="image" name="imageField" src="aaa.gif" onclick="form1.submit()" />
或者用
<form id="form1" method="get" action="">
<input type="text" name="textfield" />
<img name="imageField" src="aaa.gif" onclick="form1.submit()" />
</form>
firefox的支持都会有问题。(点了没反应)

有时间的话你帮我做个用脚本的看看哈,多长的脚本都可以。
只要能实现不提交那俩参数,而且ie opera firefox都兼容。
Hikey 2006-11-30
  • 打赏
  • 举报
回复
哈哈,我才是大笨蛋,竟然不知道button标签可以这样用。
测试了一下兼容性没问题。控制了一下样式,不是很难看哈。

问题解决了!多谢 0009(夏天以南)

那啥,不要生气哈。

这样看来用 <input type="image"... 作为提交按钮本身就是个错误。
type="image"的input标签应该是用来传递一些数据,
而且它没有了 type="submit" ,谁来对应type="reset"呢?
但是,现在还没有见到它的正确应用是什么。
RexZheng 2006-11-30
  • 打赏
  • 举报
回复
算了,我也是受不激的人,哈哈,告诉你一个方法,不用脚本的(你只要用到事件就必须用到脚本了,比如onclick,onsubmit...)

<form id="form1" method="get" action="">
<input type="text" name="textfield" />
<button type="submit" style="border:0px;background:#fff;"><img src="aaa.gif"></button>
</form>

你要是嫌这个不好看那就没办法了,必须用脚本!
wlb854 2006-11-30
  • 打赏
  • 举报
回复
把页面的viewstate禁用看看。。。
RexZheng 2006-11-30
  • 打赏
  • 举报
回复
切,你连什么叫脚本都不知道,
onclick="form1.submit()"
这一句就是javascript了,懂吗?

对别人来说这根本不是什么问题,人家解决什么?搞笑。

Hikey 2006-11-30
  • 打赏
  • 举报
回复
顶一下

召唤达人
Hikey 2006-11-30
  • 打赏
  • 举报
回复
To: xiahouwen(武眉博<活靶子.NET>)

onclick="form1.submit()"的方法我试过,IE和Opera支持的都很好,但是Firefox上就没反映了。 不知道为什么,感觉可能是firefox不支持。但是我不可以放弃firefox的用户。
在IE和firefox下,甚至可以把<input type="image" onclick="form1.submit()" ... /> 拿到form的外边,这样也可以不提交那些数据。但是...可恶的firefox...

我承认我在其他区发的求助贴有点“标题党”(http://community.csdn.net/Expert/TopicView.asp?id=5196491)
但是,实事求是!微软他确实没有解决,他解决了我就不会抬他出来。
进入www.live.com首页,随便输入个关键词,直接按回车提交和点那个按钮提交的数据就是不相同,你可以说这个没什么,反正不需要那些没用的数据,但是现在它确实影响我的程序了。

To: 0009(夏天以南)
你这个大笨蛋! 不懂可以不用恢复,不用气急败坏的回复气我。弱智!

"我超级讨厌Javascript"是我在表达我的观点,那东西很快就过时。我的网站需要在手持设备上浏览,而大部分手持设备的浏览器对Javascript支持的不是一般的差!
我抬你的偶像出来不是为了诬蔑他,只是因为他的影响比较大!
hy_lihuan 2006-11-29
  • 打赏
  • 举报
回复
好像多了几个参数不会影响使用阿,你出问题在那里啊?
Hikey 2006-11-29
  • 打赏
  • 举报
回复
to JJ
但是用在我的程序上就影响使用了,因为我的程序完全基于URL的。(参见: www.hikey.net/wr )
而且我的程序不可以使用post的,因为那样会很复杂。
纪俊 2006-11-29
  • 打赏
  • 举报
回复
1.imageField.x=***&imageField.y=***来自
<input type="image" name="imageField" src="aaa.gif" />这里image是input一种,默认的传送了image的xy坐标,貌似并不影响使用...
如果想让对方看不到可以使用post但是还是会传送上面的值只不过不再出现在url里边了...

2.得到xy坐标用来做啥不清楚=.=
使用post貌似不能满足你的全部都是根据url来得程序,需要调整程序结构

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧