为了账号安全,请及时绑定邮箱和手机立即绑定

HTML Select Dropdown ID 未传递给 Javascript 函数

HTML Select Dropdown ID 未传递给 Javascript 函数

元芳怎么了 2022-06-09 16:19:02
新手在这里,试图向队友展示客户端休息操作的价值,因为他们依赖脚本和python。不确定是我使用数字作为 value 属性还是我引用 getelementbyid 错误。老实说,这些东西可能都不是:)我试图在 MakeUrl 的 getelementbyid 中显式引用分配给 IP 地址的 id,但它仍然失败。我还以为它是空的,因为它使用的是默认值,但我将它注释掉了,我仍然得到错误。错误:未捕获的类型错误:无法读取 null 的属性“值”(MakUrl 函数)function makeUrl() {  var ip = document.getElementById("apigatewayip").value;  return "https://" + ip + "/api/v0/sessions"};function createSession(_url) {  return $.ajax({    "url": _url,    "method": "POST",    "timeout": 0,    "headers": {      "Content-Type": "application/json"    },    "data": JSON.stringify({      "gatewayVersion": "1.00.1.15"    }),  });}createSession(makeUrl());createSession(makeUrl()).success(function() {});<h1>Making AJAX Rest Calls</h1><div class="custom-select" style="width:200px;">  <select name="selectip" id="apigatewayip" onchange="makeUrl">    <option value="" disabled selected>API Gateway IP</option>    <option value="169.254.1.10">169.254.1.10</option>  </select>  <button onclick="createSession">Submit</button></div>
查看完整描述

2 回答

?
犯罪嫌疑人X

TA贡献2080条经验 获得超4个赞

您需要设置处理程序来调用您的函数,而不仅仅是分配:


<button onclick="createSession()">Submit</button>


此外,您可以在createSession函数中创建 url:


function createSession() {

  var ip = document.getElementById("apigatewayip").value;

  var _url = "https://" + ip + "/api/v0/sessions"

  console.log(_url) // Use this for ajax call

  /*$.ajax({

    "url": _url,

    "method": "POST",

    "timeout": 0,

    "headers": {

      "Content-Type": "application/json"

    },

    "data": JSON.stringify({

      "gatewayVersion": "1.00.1.15"

    }),

  });*/

}

<h1>Making AJAX Rest Calls</h1>

<div class="custom-select" style="width:200px;">

  <select name="selectip" id="apigatewayip">

    <option value="" disabled selected>API Gateway IP</option>

    <option value="169.254.1.10">169.254.1.10</option>

  </select>

  <button onclick="createSession()">Submit</button>

</div>


查看完整回答
反对 回复 2022-06-09
?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

等待文档使用文档就绪$(function() { })并使用 jQuery 呈现,不要与旧的 JavaScript 选择混合


使用done回调而不是success


//Global function 1

function makeUrl() {

    var ip = $("#apigatewayip").val();

    return "https://" + ip + "/api/v0/sessions"

};

//Global function 2

function createSession(_url) {

  return $.ajax({

    "url": _url,

    "method": "POST",

    "timeout": 0,

    "headers": {

      "Content-Type": "application/json"

    },

    "data": JSON.stringify({

      "gatewayVersion": "1.00.1.15"

    }),

  });

}



//Wait until document fully render

$(function() {

   //After document render call the methods

   createSession(makeUrl());


   createSession(makeUrl()).done(function() {


   });

});


查看完整回答
反对 回复 2022-06-09
  • 2 回答
  • 0 关注
  • 148 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号