根据电子邮件验证更改发货选项

时间:2019-04-22 17:02:55

标签: jquery html

我正在查询数据库,以检查是否存在/已使用电子邮件。如果已使用电子邮件,则需要将单选按钮更改为另一个选项

我从未使用过基于数据库查询电子邮件验证的切换事件,因此到目前为止,jquery设置返回警报。

<!--/* shipment opt-in */-->
<div class="row--flex">
  <div class="form-group" data-sly-test="${!properties.defaultRefill}">
    <input type="radio" id="inServiceKit_shipmentOptInSupportingMaterials" name="shipmentOptIn" class="form-control" checked="checked" required>

    <label class="form_label" for="inServiceKit_shipmentOptInSupportingMaterials">
      Please send me the COPD In-Service Kit and additional Supporting materials
    </label>
  </div>

  <div class="form-group" data-sly-test="${properties.defaultRefill}">
    <input type="radio" id="inServiceKit_shipmentOptInRefillOnly" name="shipmentOptIn" class="form-control" checked="checked" required>

    <label class="form_label" for="inServiceKit_shipmentOptInRefillOnly">
      Please send me the COPD In-Service Refill Kit
    </label>
  </div>
</div>
<!--/* end shipment opt-in */-->
$('#inServiceKit_email').on('change', function() {
  //ajax request
  $.ajax({
    url: 'endpoint',
    data: {
      'email': $('#inServiceKit_email').val()
    },
    dataType: 'json',
    success: function(data) {
      if (data == true) {
        alert('email is in database')
      } else {
        alert('email is valid')
      }
    },
    error: function(data) {
      //error
    }
  });
});

该表格现在显示“请向我发送COPD维修套件和其他支持材料”标签,因此,如果用户电子邮件位于数据库中,我希望将其更改为其他标签,然后选中“请向我发送COPD服务补充套件”

1 个答案:

答案 0 :(得分:1)

如评论中所述:

success: function(data) {
      if (data == true) {
        $("#inServiceKit_shipmentOptInSupportingMaterials").prop("checked", true);

        // This false may not be needed since they are in the same group
        $("inServiceKit_shipmentOptInRefillOnly").prop("checked", false);
      } else {
        $("inServiceKit_shipmentOptInRefillOnly").prop("checked", true);

        // This false may not be needed since they are in the same group
        $("#inServiceKit_shipmentOptInSupportingMaterials").prop("checked", true);
      }
    }

如果jQuery的版本低于1.6,请使用:

success: function(data) {
      if (data == true) {
        $("#inServiceKit_shipmentOptInSupportingMaterials").attr('checked', 'checked');
      } else {
        $("inServiceKit_shipmentOptInRefillOnly").attr('checked', 'checked');
      }
    }

要检查选择了哪个单选按钮,可以使用:

$('input[name=shipmentOptIn]:checked').val()

在所有输入中都使用required可以清楚甚至鼓励,但如果它们具有相同的名称,则只需要其中一个具有required关键字即可。除非它们是动态生成的。