与现有输入值进行比较,然后在现有输入中设置新值

时间:2019-07-12 17:51:47

标签: javascript jquery

我有这种形式,可以获取完整的状态值(input type="hidden" id="state_code" name="state_code" value="Pennsylvania"),但是当我需要提交表单,我需要使用状态代码更新完整的状态值。

例如,如果状态值为“宾夕法尼亚州”,那么我需要使用“ PA”对其进行更新。

状态值是动态的,因此它可以是任何状态,我需要相应地对其进行更新。我该怎么办?

这是我的表格:

<form
  class="needs-validation"
  action=""
  id="lead-form"
  method="POST"
  novalidate=""
>
  <div class="input-group">
    <input
      type="email"
      id="email"
      class="form-control"
      size="20"
      maxlength="80"
      placeholder="Enter your email"
      required=""
    />
  </div>

  <input type="hidden" name="Status" value="New" />
  <input type="hidden" name="Brand__c" value="" />
  <input type="hidden" name="lead_source" value="Web Lead Gen Form" />
  <input type="hidden" name="Market_ID__c" value="CPG" />
  <input type="hidden" name="MS_ID__c" value="6" />

  <input type="hidden" id="state_code" name="state_code" value="Pennsylvania" />
  <input type="hidden" name="zip" value="15001" />
  <input type="hidden" name="country_code" value="US" />

  <input type="submit" name="Submit" class="button-orange" />
</form>

1 个答案:

答案 0 :(得分:0)

如果我理解正确,则需要addEventListener来输入要收听的输入。 HTML:

<input type="text" name="Thing" value="" />

脚本:

/* event listener */
document.getElementsByName("Thing")[0].addEventListener('change', doThing);

/* function */
function doThing(){
   alert('Horray! Someone wrote "' + this.value + '"!');
}

还需要初始化一些变量,您将根据输入内容对其进行更新。另外,如果需要缩短状态,则需要进行某种词汇转换,以转换为所需的输出。