从HTML表单textarea值和Post中用JavaScript表示JSON?
我想要一个HTML表单,在Http请求体中发布以下内容从HTML表单textarea值和Post中用JavaScript表示JSON?,javascript,html,json,Javascript,Html,Json,我想要一个HTML表单,在Http请求体中发布以下内容 { “info” : { “id” : “123” “text1” : <comes from html text-box> } 所以,我想要的是将上述内容表述为一个JavaScript对象,然后在提交时发布这个JavaScript对象。“text1”的值将来自用户输入,这将是一个html表单textarea输入框。第一个值“id”将被硬编码,或者也可以来自隐藏的文本框 所以我的问题是:如何编写一段Java
{ “info” : {
“id” : “123”
“text1” : <comes from html text-box>
}
所以,我想要的是将上述内容表述为一个JavaScript对象,然后在提交时发布这个JavaScript对象。“text1”的值将来自用户输入,这将是一个html表单textarea输入框。第一个值“id”将被硬编码,或者也可以来自隐藏的文本框
所以我的问题是:如何编写一段JavaScript来实现这一点,以及相应的html表单等等。使用jQuery最容易做到这一点
<html>
<head>
<script>
function sendJson()
{
var x=document.forms["alfa"]["text1"].value;
str1="{ 'info' : { 'id' : '123' 'text1' : ";
str2=str1.concat(x);
body=str2.concat(" }");
document.forms["alfa"]["text1"].value=body;
}
</script>
</head>
<body>
<form id="alfa" onsubmit="return sendJson()">
Text1: <input id="text1" type=text size=50>
<input type="submit" value="Submit">
</form>
</body>
</html>
首先,用数据初始化JavaScript对象。然后,使用jQuery从文本框中提取文本,并将其指定给对象中所需的属性
var data = {
"info": {
"id":"123",
"text1":""
}
};
data.info.text1 = $("#yourTextBox").val();
然后可以使用jQuery.ajax发出请求:
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
有关帖子,请参阅jQuery文档:
编辑:
使用内联javascript,您的HTML看起来像这样,而不是使用jQuery获取表单数据:
<html>
<head>
<script>
var data = {
"info": {
"id":"123",
"text1":""
}
};
function makeRequest()
{
data.info.text1 = document.forms["frm1"]["fname"].value;
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
}
</script>
</head>
<body>
<form name="frm1" id="yourTextBox" onsubmit="makeRequest()">
<input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
使用jQuery最容易做到这一点 首先,用数据初始化JavaScript对象。然后,使用jQuery从文本框中提取文本,并将其指定给对象中所需的属性
var data = {
"info": {
"id":"123",
"text1":""
}
};
data.info.text1 = $("#yourTextBox").val();
然后可以使用jQuery.ajax发出请求:
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
有关帖子,请参阅jQuery文档:
编辑:
使用内联javascript,您的HTML看起来像这样,而不是使用jQuery获取表单数据:
<html>
<head>
<script>
var data = {
"info": {
"id":"123",
"text1":""
}
};
function makeRequest()
{
data.info.text1 = document.forms["frm1"]["fname"].value;
$.ajax({
type: "POST",
url: url,
data: data,
success: success,
dataType: dataType
});
}
</script>
</head>
<body>
<form name="frm1" id="yourTextBox" onsubmit="makeRequest()">
<input type="text" name="fname">
<input type="submit" value="Submit">
</form>
</body>
</html>
最好的方法是使用JSON。parse最好的方法是使用JSON。parse非常感谢您的回复,尽管我如何在表单上调用ajax函数提交也许您可以添加此代码以完成此问题。我基于您使用内联javascript的假设更新了代码。如果您希望看到不同的内容,请告诉我。非常感谢您的回复,尽管我在表单提交中如何准确调用ajax函数,也许您可以添加此代码以完成此问题。我基于您使用内联javascript的假设更新了代码。如果你有什么不同的想法,请告诉我。