Django 日历按钮运行不正常

Django 日历按钮运行不正常,django,forms,calendar,widget,Django,Forms,Calendar,Widget,这是一项初级任务。我正试图使用以下代码在django中实现一个日历小部件 示例:http://djangosnippets.org/snippets/1629/ 我把这个日历放在一个已经有提交按钮的表单中。 我遇到的问题是,我的日历按钮提交了我的表单,而不是 显示日历小部件。日历图标和按钮显示正确,我可以 请确保它具有来自firebug的正确代码,仅此而已 我真正需要的是一个简单的日历和一个模型表单。我不 在使用JSCal2的同时,也要注意让日历正常工作 为什么我的calbutton要提交我的表

这是一项初级任务。我正试图使用以下代码在django中实现一个日历小部件 示例:
http://djangosnippets.org/snippets/1629/

我把这个日历放在一个已经有提交按钮的表单中。 我遇到的问题是,我的日历按钮提交了我的表单,而不是 显示日历小部件。日历图标和按钮显示正确,我可以 请确保它具有来自firebug的正确代码,仅此而已

我真正需要的是一个简单的日历和一个模型表单。我不 在使用JSCal2的同时,也要注意让日历正常工作

为什么我的calbutton要提交我的表格?如何使其显示小部件 工作正常吗?还有什么其他建议可以让你轻松地获得一份工作日历吗

-------------widgets.py---------------------

calbtn = u"""<input id="calendar-inputField" /><button id="calendar-trigger"> <img src="%simages/calbutton.gif" alt="calendar" id="%s_btn"
style="cursor: pointer; height="20"; width="20"; border: 1px solid #8888aa;" title="Select date and
time"
            onmouseover="this.style.background='#444444';"
            onmouseout="this.style.background=''" />
</button>
<script type="text/javascript">
    Calendar.setup({
        trigger    : "calendar-trigger",
        inputField : "calendar-inputField"
        inputField     :    "%s",
        ifFormat       :    "%s",
        button         :    "%s_btn",
        singleClick    :    true,
        showsTime      :    true
        onSelect   : function() { this.hide() }
    });
</script>"""

class DateTimeWidget(forms.widgets.TextInput):
    dformat = '%Y-%m-%d %H:%M'
    def render(self, name, value, attrs=None):
        # Same as the example   ...

    def value_from_datadict(self, data, files, name):
        # Same as the example   ...

    class Media:
        css = {            
            'all': ('/static/calendar/gold.css', )    
        }
        js = ('/static/calendar/jscal2.js',
              '/static/calendar/en.js',
              )

您的按钮可能只需要一个type属性,这样它就不会表现为提交按钮。在除IE之外的所有浏览器中,按钮标签都有一个默认类型“提交”

class CustMainForm(ModelForm):
  lastName = forms.CharField(max_length=20)
  firstName = forms.CharField(max_length=20)

  class Meta:
      model = Customer
      fields = ('notes', 'saleDate' )
      widgets = {
          'notes': Textarea(attrs={'cols': 80, 'rows': 20}),
          'saleDate' : DateTimeWidget(),  # shown above
      }