【问题标题】:Store users choice data in my array temporarily将用户选择数据临时存储在我的数组中
【发布时间】:2015-03-24 23:36:19
【问题描述】:

这是我的表单,下面是一个函数。我需要 3 个功能,1 个用于存储数据,1 个用于保存数据,1 个用于显示所有存储的数据。我怎样才能完成所有这些功能,使它们相互对应。

注意:用户将输入数据,因此将临时保存用户选择数据。用户应该可以点击按钮来运行该功能,但是我怎样才能正确地完成这三个功能。

<form name = "Music">

            <p>Input a Song Name, Artist, Collaborations, Duration or Album</p>

            <input type="text" name = "Song_Name" id= "Song_Name" size="20"> <br> 
            <input type="text" name = "Artist" id= "Artist" size="20"> <br> 
            <input type="text" name = "Collaborations" id= "Collaborations" size="20"> <br> 
            <input type="text" name = "Duration" id= "Duration" size="20"> <br> 
            <input type="text" name = "Album" id= "Album" size="20"> <br> 

            <input type="button" value = "Save" onclick = "Save()"> <br>
            <input type="button" value = "Search" onclick = "Store()"> <br>
            <input type="button" value = "Show_All" onclick = "Show_All()"> <br>

保存功能:

var catalogue[];

function Save = Music.Song_Name.Artist.Collaborations.Duration.Album.Save{

            var SongName = document.getElementById('Song_Name').value;
            var Artist = document.getElementById('Artist').value;
            var Collaborations = document.getElementById('Collaborations').value;
            var Duration = document.getElementById('Duration').value;
            var Album = document.getElementById('Album').value;

        document.write("You have chosen "+ Song_Name + Artist + Collaborations + Duration + Album)
}

【问题讨论】:

  • 这是您第一次使用 javascript?我问是因为语法完全错误。
  • 您能帮我正确地编写代码吗?
  • 为什么您的第二个按钮显示“搜索”,但您的功能和描述显示“存储”?
  • 存储和保存有什么区别?
  • 是的,我注意到了这一点,并且在我意识到我在这里发布它之后我已经改变了它。 “搜索”按钮现在包含“搜索”功能。你能帮我解决我得到的东西吗?

标签: javascript arrays forms function


【解决方案1】:

首先,我建议将值存储在对象而不是数组中。当您拥有多个相关的数据时,使用起来会容易得多。以下是它在 Store 和 Show 中的工作方式:

var catalogue;

function Store() {
    catalogue = {
        SongName: document.getElementById('Song_Name').value;
        Artist: document.getElementById('Artist').value;
        Collaborations: document.getElementById('Collaborations').value;
        Duration: document.getElementById('Duration').value;
        Album: document.getElementById('Album').value;
    }
}

function Show_All() {
    document.getElementById('Song_Name').value = catalogue.SongName;
    document.getElementById('Artist').value = catalogue.Artist;
    document.getElementById('Collaborations').value = catalogue.Collaborations;
    document.getElementById('Duration').value = catalogue.Duration;
    document.getElementById('Album').value = catalogue.Album;
}

您如何处理“保存”取决于您要将其保存到的位置,但一般的想法是您可以将目录值直接传递到您保存它的位置,或者解析目录的属性目录对象并将每个对象传递到您保存它们的任何位置。

【讨论】:

  • 我尝试了这个功能,它不起作用,我必须先保存数据才能让这个功能真正起作用吗?因为想法是,我必须先存储数据。我希望存储的数据出现在屏幕上,可能是作为提示。然后我想搜索数据,所以可能再次出现提示“您已搜索...”某某。最后一部分显示用户存储的所有数据。再次感谢您的代码,但如果您能帮我解决这个问题,这将有很大帮助!
  • 我不知何故错过了您在此发表的评论,现在才注意到。既然已经这么久了,我猜你不再需要帮助了。如果您这样做了,我想我需要更多详细信息,了解您在单击每个按钮时究竟希望发生什么,以便能够提供任何有用的帮助。
猜你喜欢
  • 2018-07-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-28
  • 1970-01-01
  • 2013-07-28
  • 1970-01-01
相关资源
最近更新 更多