将document.all替换为带有If Else语句的document.getElementById

时间:2015-12-23 22:37:07

标签: getelementbyid

我正在尝试重写此函数以删除document.all并替换为document.getElementById,但到目前为止我没有太多运气。 这是原始功能:

if (document.all.DeptFundingYN.value == "TRUE") {

这就是我所拥有的:

function VoidRtn(fRecNum,fReferenceNum) {
  var DeptFundingYNField = document.getElementById("VoidID");

  if(DeptFundingYNField.value == "TRUE") {
    var href = "PaymentsEntry.asp?speedpay=false&CLAIM=YES&LevelCode=Void&Mode=Update&Reference_Num=" + document.PayClaimGridForm.ReferenceNum.value;
    href += "&RecNum=" + fRecNum;
    document.location.href = href;
  } else {
    alert("No Department Funding");
  }
}

此按钮:

<button title=""Void This Payment"" id=""VoidID"" class=""whitefontbutton"" onclick=""VoidRtn(" & fRecNum & "," & fReferenceNum & ");"" style=""width: 15px; height: 15px;BACKGROUND: #6a7dae; FONT-SIZE: 7 PT"" onmouseover=""this.style.background='#000066'"" onmouseout=""this.style.background='#6a7dae'"">V</button></font>

1 个答案:

答案 0 :(得分:0)

我不明白为什么双引号会在;中出现两次,例如:

<button>

应该是:

<button title=""Void This Payment"" ...

标记中的任何位置都没有<button title="Void This Payment" ... 值。 条件可以工作的唯一方法是向按钮添加"TRUE"属性,例如:

value="TRUE"

通过这些更改,它应该可以正常工作。