在django上的HTML提交按钮和javascript(确认按钮)需要帮助:

时间:2011-04-01 16:31:14

标签: javascript python html django

场景:我正在尝试使用JavaScript在我的HTML表单中使用图像按钮:

<form method="post" name="delete">
<input type="image" name="{{a.id}}"
    src="http://localhost:8000/site_media/web/img/delete_icon.gif"
    onClick="decision(this,'Delete this Activity?','http://localhost:8000/delAct/listAct')"/>
</form>

这是我的剧本:

<SCRIPT LANGUAGE="Javascript">
<!---
function decision(selectobject, message, url){
   if(confirm(message)) location.href = url+"/"+selectobject.name ;
}
// --->
</SCRIPT>

问题是它没有像预期那样重定向到页面delAct/listAct。所以我尝试将其更改为使用type="button"并且它工作正常:

<form method="post" name="delete">
<input type="button" name="{{a.id}}"
   onClick="decision(this,'Delete this Activity?','http://localhost:8000/delAct/listAct')"/>
</form>

我的问题是如何使用type="image"让第一个脚本工作?有没有办法做到这一点?

顺便说一下:我已经尝试过表单中的getpost方法,但没有任何区别。另外,我在我的项目中使用Python 2.6和Django。

1 个答案:

答案 0 :(得分:1)

您遇到的问题是使用input类型的图片会创建一个看起来像图像的提交按钮,因此当点击它时,表单会被提交到您所在的同一页面,因为{{1 }}标记未指定<form>属性。为了防止提交被触发,您需要从决策事件处理程序返回action,这将阻止事件冒泡。