【问题标题】:How to change AJAX POST URL based on radio button?如何根据单选按钮更改 AJAX POST URL?
【发布时间】:2021-09-17 14:03:19
【问题描述】:

你能帮我并给我建议吗。我怎样才能使 AJAX 根据单选按钮更改帖子网址。 我需要使用If语句还是?

var barray = [];

function cbutton() {
  $('input:radio[name="cheking"]:checked').val();
  var varies = $("#fromdate").val();
  var varies2 = $("#todate").val();
  
  if (varies == "" || varies2 == "") {
    alert("Please fill in all 2 fields first and then submit again");
  } else {
    barray.push(varies + "~" + varies2);
    $.ajax({
      type: "POST",
      url: "pickingeff.php", // <------ That what i want to change depending on radio button
      data: {
        fromdate: varies,
        todate: varies2
      }
    }).done(function(msg) {
    });
  }
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="radio" id="pickingi" name="cheking" class="checking" value="pickingeff.php" onchange="toggleVisibility('show1');" checked> &nbsp;
<label for="cheking">Picking</label> &nbsp;

<input type="radio" id="packingi" name="cheking" class="checking" value="packingeff.php" onchange="toggleVisibility('show2');"> &nbsp;
<label for="cheking">Packing</label> &nbsp;

<input type="radio" id="overall" name="cheking" class="checking" value="overalleff.php" onchange="toggleVisibility('show3');"> &nbsp;
<label for="cheking">Overall</label>

【问题讨论】:

  • 是的,您可以使用if 语句来设置一个变量——就像你已经为variesvaries2 设置的那样——这使得问题变得相当奇怪,因为你已经知道你应该做什么做。话虽如此,将相同的表单数据发送到每个单选选项的完全不同的页面并不是一个好的设计选择。有一个单独的动作来处理整个表单,并根据用户做出的选择让逻辑流经它。
  • 当您可以直接从所选单选按钮的值中读取所需的 URL 时,为什么还需要 if?你确实已经阅读了它,你的函数代码的第一行 - 只是你没有对结果做任何事情。
  • @CBroe 怎么样?我可以输入url: $('input:radio[name="cheking"]:checked').val();
  • 是的,当然应该可以。

标签: javascript html jquery ajax


【解决方案1】:

谢谢你们,简单!

var barray = [];
function cbutton() {
  $('input:radio[name="cheking"]:checked').val();
  var varies = $("#fromdate").val();
  var varies2 = $("#todate").val();
  
  if (varies == "" || varies2 == "") {
    alert("Please fill in all 2 fields first and then submit again");
  } else {
    barray.push(varies + "~" + varies2);
    $.ajax({
      type: "POST",
      url:   $('input:radio[name="cheking"]:checked').val(), // <------ That worked !
      data: {
        fromdate: varies,
        todate: varies2
      }
    }).done(function(msg) {
    });
  }
}

【讨论】:

    猜你喜欢
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-17
    • 1970-01-01
    相关资源
    最近更新 更多