我有一个表格,其中有一个产品列表,其中每个产品都有一个输入(我们称其为“ pc”)。每个输入都被命名为“ pc”,产品ID与ID相同。 IE:“ pc100”,“ pc101”等。每个输入都有一个onkeyup事件,以调用一个函数来填充我通过产品ID的价格(import React, { Component } from "react";
import { BrowserRouter as Router, Route, Link } from "react-router-dom";
export default class InstructorProfile extends Component {
render(){
return(
<div>
<h1>Welcome to the profile</h1>
</div>
);
}
}
该函数接收ID,但我无法将javascript配置为该ID。只要能获得动态变量名,我就会拥有其余的代码。互联网上充满了诸如eval()和window []之类的各种东西,我尝试了我能想到的所有可能的组合/ find。我知道可以使它正常工作。所以...如何使此警报正常工作?
大多数结果是,当我需要“在这里测试”时,我会给我“ pc100”
onkeyup='myfunction(100)
答案 0 :(得分:2)
不要使用动态变量名。在数据结构中使用查找:
function f(id) {
var pc = {
331: "Here's my test"
}
console.log(pc[id]);
}
动态变量是一个巨大的问题,尤其是从安全角度来看。如果您天真并且使用eval
,那么有人可以构造一个执行任意JavaScript的id
值,那么您就会遇到XSS问题。