Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/78.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Event.target.value返回空字符串或空字符串_Javascript_Jquery_Dom Events - Fatal编程技术网

Javascript Event.target.value返回空字符串或空字符串

Javascript Event.target.value返回空字符串或空字符串,javascript,jquery,dom-events,Javascript,Jquery,Dom Events,我正在为学校的一项作业创建一个天气仪表盘,但最后一点我有问题。基本上,用户将搜索一个特定的城市,作为回报,将获得有关该城市天气的所有数据和信息。我目前一直在思考如何正确使用event.target.value。当用户搜索某个城市时,我会将该城市的名称附加到我的网页中,并将该名称转换为一个按钮。单击按钮后,我希望它只返回城市名称。但是,我得到了一个似乎是空字符串的内容,或者它没有识别出它的目标值?下面是我的代码: let cities = []; function saveCity() {

我正在为学校的一项作业创建一个天气仪表盘,但最后一点我有问题。基本上,用户将搜索一个特定的城市,作为回报,将获得有关该城市天气的所有数据和信息。我目前一直在思考如何正确使用event.target.value。当用户搜索某个城市时,我会将该城市的名称附加到我的网页中,并将该名称转换为一个按钮。单击按钮后,我希望它只返回城市名称。但是,我得到了一个似乎是空字符串的内容,或者它没有识别出它的目标值?下面是我的代码:

let cities = [];

function saveCity() {

    event.preventDefault();

    let city = $('.form-control').val().trim()

    cities.push(city)

    $("#newCity").append('<ul><button class="btn btn-primary">' + city + '</button></ul>');

    localStorage.setItem("cities", JSON.stringify(cities))

}

function appendStorage(){

        cities = JSON.parse(localStorage.getItem('cities'));

        for (let index = 0; index < cities.length; index++) {
            const element = cities[index];

            $("#newCity").append('<ul><button class="btn btn-primary">' + element + 
                                                                          '</button></ul>');

        }

        $(".cities").click(function(event) {
            let cityName = event.target.value
            console.log('clicked')
            console.log(cityName)
        })

}

$(".cities").click(function(event) {
    let cityName = event.target.value
    console.log(cityName) 
})
我得到一个console.log:

<button class="btn btn-primary">London</button>
伦敦

我可以进一步解释,如果我问的不清楚,或者我可以上传更多的代码,如果需要的话。谢谢你的帮助

通常,您将
附加到
输入
选择
文本区域
元素,基本上是用户输入元素,并使用
获取它

可以使用
value
属性为按钮添加值,该属性在您的案例中缺失


使用
$(event.target).text()获取按钮文本在您的示例中,您需要做的是提供您试图获取的值。您的按钮没有值,因此
.value
将不返回任何内容

我在下面提供了一些例子:

//获取具有类“cities”值的单击元素
$(“.cities”)。单击(功能(事件){
让cityName=event.target.value
console.log('clicked')
console.log(cityName)
})
//使用.innerText获取单击按钮内的文本
$(“.get text”)。单击(函数(事件){
让cityName=event.target.innerText
console.log('clicked')
console.log(cityName)
})

有价值的伦敦

无价值的伦敦

伦敦

如果您使用“<代码> E.Talk.Value”输入字段计算,也考虑用户输入可以被删除或空的情况。

因此,有必要使用if语句将变量归零,以便进行进一步的处理

让targetValue=e.target.value;
e、 target.value=0 | e.target.value==“”?(targetValue=0):(targetValue=e.target.value)
然后继续使用
targetValue


你可能想考虑这个帖子:

按钮也可以有一个值。是的,我忽略了这个。Thanks@AnuragSrivastava这是一个快速解决方案。谢谢你的帮助!!啊,好的,我明白了。这澄清了很多。谢谢你的帮助!
<button class="btn btn-primary">London</button>