我有一个包含以下代码的json文件:
{
"full_name" : "Laishram Pilot",
"links" : [
{ "facebook" : "http://facebook.com" },
{ "twitter" : "http://twitter.com" },
{ "youtube" : "http://www.youtube.com" }
]
}
我有一个包含此代码的html文件:
<form action="updated.php">
<input type="text" name="sitename"> <br>
<input type="text" name="siteurl"> <br>
<input type="button" onclick="myFunction()" value="Submit">
</form>
现在我想用函数myFunction()编写javascript,以便每当用户使用网站名称和siteurl提交表单时,我将获得一个新更新的json文件。
示例:
用户插入形式如
Sitename as google。
Siteurl为http://www.google.com
json文件变为:
{
"full_name" : "Laishram Pilot",
"links" : [
{ "facebook" : "http://facebook.com" },
{ "twitter" : "http://twitter.com" },
{ "youtube" : "http://www.youtube.com" }
{ "google" : "http://www.google.com" }
]
}
请帮帮我。
答案 0 :(得分:1)
var json = {
"full_name" : "Laishram Pilot",
"links" : [
{ "facebook" : "http://facebook.com" },
{ "twitter" : "http://twitter.com" },
{ "youtube" : "http://www.youtube.com" }
]
}
function myFunction(){
var sitename = document.getElementById('sitename').value;
var siteurl = document.getElementById('siteurl').value;
json["links"].push({sitename:siteurl});
//return json;
//the variable json will now be updated with the content
//code to post the new object to the server.
request= new XMLHttpRequestObject()
request.open("POST", "updated.php", true)
request.setRequestHeader("Content-type", "application/json")
var str_json = JSON.stringify(json)
request.send(str_json)
}
然后,在您的工作中,您需要使用站点信息为您的字段分配ID。我删除了action
部分,因为myFunction()调用将在json对象更新后为您提交表单:
<form>
<input type="text" id="sitename" name="sitename"> <br>
<input type="text" id="siteurl" name="siteurl"> <br>
<input type="button" onclick="myFunction()" value="Submit">
</form>
这样可行。