【问题标题】:How to Reset Newly Added Form Inputs如何重置新添加的表单输入
【发布时间】:2016-04-19 18:31:47
【问题描述】:

编辑:
1。删除了不必要的代码...
2。阐明了所需的解决方案并添加了重置按钮 HTML。

我见过各种用于重置表单的方法,但我通过 AJAX 将内容添加到空白 div (id = "unitPulled"),因此,类似于以下的方法将不起作用:

document.forms[0].reset();

我的目标是在用户点击重置按钮时重置整个表单。

我该如何解决这个问题?是否必须重新加载 DOM?

按钮的 HTML:

<button id="reset" name="reset" class="btn btn-default" type="reset">Clear</button>

Javascript:

/* Below is for auto-updating of initial and number */
var oXmlHttp

function showUnits(str) // Change function name
{
    var url = "ajax.cfm?&lic_plate=" + str // Change URL
    oXmlHttp = GetHttpObject(stateChanged)
    oXmlHttp.open("GET", url, true)
    oXmlHttp.send(null)
}

// Below is where new elements are added:
function stateChanged() {
    if (oXmlHttp.readyState == 4 || oXmlHttp.readyState == "complete") {
       document.getElementById("unitPulled").innerHTML = oXmlHttp.responseText; // Change ID
       document.getElementById("lic_plate").focus();

    }
}

谢谢!

【问题讨论】:

  • 要删除该div的所有内容吗?
  • form[0]里面新增的字段吗?
  • Keshav - 删除所有内容或重置每个输入的新添加值将是理想的。 Rejith - 是的,新添加的字段在表单内,在 div "unitPulled" 内

标签: javascript coldfusion cfml


【解决方案1】:

在你里面添加这一行function stateChanged()

function stateChanged() {
    if (oXmlHttp.readyState == 4 || oXmlHttp.readyState == "complete") {
       document.getElementById("unitPulled").innerHTML = oXmlHttp.responseText; // Change ID
       document.getElementById("myForm").reset(); 
       document.getElementById("lic_plate").focus();
    }
}

请输入您的表单 ID 而不是 myForm。让我知道这是否不起作用,因为表单值将在 ajax 调用后重置。

【讨论】:

  • 我不想在 stateChanged 函数中重置表单。这将是当按下按钮时。此外,当按下按钮时,此方法也不会清晰显示。
猜你喜欢
  • 2017-09-25
  • 1970-01-01
  • 2022-12-31
  • 1970-01-01
  • 1970-01-01
  • 2017-06-06
  • 2018-09-17
  • 2020-11-14
  • 2018-03-27
相关资源
最近更新 更多