0

这是我正在处理的网页的基本流程:

  • 用户单击按钮,弹出日期/时间选择器(有效)。
  • 一个时间字符串填充一个文本框,例如,凌晨 4:00(有效)。
  • 然后用户必须选择两个单选按钮之一,这应该读取文本框中的时间,radiobutton1 添加 4 小时,radiobutton2 添加 4.5(不起作用)。
  • 然后总小时数显示在另一个文本框中(还没有做到这一点)。

除了第一项(从服务器检索日期)之外,大部分工作都是由 Javascript 完成的。

所以这是我正在处理的 Javascript:

function setHours(setting)
{
    var tempVal = document.getElementById('<%=Text6.ClientID%>');
    var nHours;
    var textHours = new DateTime(tempVal);
    alert(tempVal);
    textHours = getHours
    if (setting==true) {
        nHours = 4;
        alert("4");
    }
    else {
        nHours = 4.5
        alert("4.5");
    }
    textHours.setHours(textHours.getHours() + nHours);
    document.getElementById("text8").value = textHours;
}

当用户单击两个单选按钮之一时调用此函数(一个为真,另一个为假)。请注意,我到处都有“警报”,因为最初,我无法触发整个函数。所以我注释掉了除了“if statements”和“alert”之外的所有东西,你瞧,它工作正常。

我假设问题出在 var 中,也许是“tempVal”如何检索 text6 中的值。

这是文本框的代码。

<form id='frmRequestApplicationForm' name='frmRequestApplicationForm' action='#' method='post'>
<input class="textboxdefault" type="text" name="Starttime" id="Text6" value="<%=(requestApplicationForm.StartimeError.ToString().Equals("")?requestApplicationForm.StarttimeDate.ToShortDateString().Equals("1/1/0001")?"":requestApplicationForm.StarttimeDate.ToShortTimeString(): requestApplicationForm.Starttime)%>"/>
</form>

构建程序使我得到“Text6 不存在”。我不确定代码在哪里拒绝工作。

用简单的“Text6”替换“<%=Text6.ClientID%>”会使整个 Javascript 函数失败。

我可以帮忙吗?

4

1 回答 1

0

没关系。

我将“ document.getElementById('<%=Text6.ClientID%>');”替换为

document.frmRequestApplicationForm.Text6.value;

现在似乎工作正常。

于 2012-07-17T03:23:38.337 回答