Php javascript中的变量,自动填充形式
我在这个脚本上从javascript接收超过8个值时遇到问题。。。它应该自动填充下拉选项(选择)上的字段,它工作正常,但我不能得到超过8个值。。。问题出在哪里?谢谢Php javascript中的变量,自动填充形式,php,javascript,forms,Php,Javascript,Forms,我在这个脚本上从javascript接收超过8个值时遇到问题。。。它应该自动填充下拉选项(选择)上的字段,它工作正常,但我不能得到超过8个值。。。问题出在哪里?谢谢 <script type="text/javascript"> // Format of StoreDetails() // Name,Addr1,Addr2,Addr3,Phone,FAX,Email,Webpage, Url var StoreDetails = [ ['Ple
<script type="text/javascript">
// Format of StoreDetails()
// Name,Addr1,Addr2,Addr3,Phone,FAX,Email,Webpage, Url
var StoreDetails = [
['Please select','','','','','','','',''],
['Please select','test1','test2','test3','test4','test5','test6','test7','test8']
// Note: no comma
];
function Setup(TA) {
var str = "<select id='Store' class='styled-select' onchange='StoreInfo()'>";
for (var i=0; i<StoreDetails.length; i++) {
str += '<option value="'+StoreDetails[i].join('|')+'">'+StoreDetails[i] [0]+'</option>';
}
str +='</select>';
document.write(str);
}
function StoreInfo() {
var sel = document.getElementById('Store').selectedIndex;
var tmp = []; tmp.push(sel);
for (var i=1; i<8; i++) {
tmp.push(StoreDetails[sel][i]);
}
document.getElementById('txtName').value = tmp[1];
document.getElementById('txtAddr1').value = tmp[2];
document.getElementById('txtAddr2').value = tmp[3];
document.getElementById('txtAddr3').value = tmp[4];
document.getElementById('txtPhone').value = tmp[5];
document.getElementById('txtPhone2').value = tmp[6];
document.getElementById('txtEmail').value = tmp[7];
document.getElementById('txtWebpage').value = tmp[8];
document.getElementById('txtUrl').value = tmp[9];
}
</script>
</head>
<body>
<div class="container">
<header class="clearfix">
<img src="logo.png"/>
<nav class="codrops-demos">
<a class="current-demo" href="index.php">Some text</a>
</nav>
</header>
<section class="main clearfix">
<div class="fleft">
<p>Da bi porucili vizit karte, izaberite ime i kolicinu, zatim potvrdite.</p>
</div>
<div class="fleft">
<form id="testconfirmJQ" name="testconfirmJQ" method="post" action="output.php">
<script type="text/javascript">Setup();</script>
<table border="0">
<input type="text" hidden="hidden" id="txtName" name="txtName" size="30" value=""> </td></tr>
<input type="text" hidden="hidden" id="txtAddr1" name="txtAddr1" size="30" value=""> </td></tr>
<input type="text" hidden="hidden" id="txtAddr2" name="txtAddr2" size="30" value=""></td></tr>
<input type="text" hidden="hidden" id="txtAddr3" name="txtAddr3" size="30" value=""> </td></tr>
<input type="text" hidden="hidden" id="txtPhone" name="txtAddr3" size="30" value=""> </td></tr>
<input type="text" hidden="hidden" id="txtPhone2" name="txtPhone2" size="30" value=""></td></tr>
<input type="text" hidden="hidden" id="txtEmail" name="txtEmail" size="30" value=""> </td></tr>
<input type="text" hidden="hidden" id="txtUrl" name="txtUrl" size="30" value=""></td> </tr>
<tr><td>How much?:</td><td><input type="text" id="kolicina" name="kolicina" size="5" value=""></td></tr>
<tr><td><input id="submitJQ" name="submitJQ" type="submit" class="styled-button-1" value="Confirm" /></td></tr>
</table>
</form>
//StoreDetails()的格式
//姓名、地址1、地址2、地址3、电话、传真、电子邮件、网页、Url
var StoreDetails=[
[“请选择”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”、“”],
[‘请选择’、‘测试1’、‘测试2’、‘测试3’、‘测试4’、‘测试5’、‘测试6’、‘测试7’、‘测试8’]
//注:无逗号
];
功能设置(TA){
var str=“”;
for(var i=0;i您正在限制for循环中tmp
的大小(范围从i=1
到i<8
)。一些更改:
var StoreDetails = [
['A store','test1','test2','test3','test4','test5','test6','test7','test8','url']
// Note: no comma
];
function Setup() {
var str = "<select id='Store' class='styled-select' onchange='StoreInfo()'>";
str += '<option disabled="disabled" selected="selected">Please Select</option>';
for (var i=0; i<StoreDetails.length; i++) {
str += '<option value="'+StoreDetails[i].join('|')+'">'+StoreDetails[i] [0]+'</option>';
}
str +='</select>';
document.write(str);
}
function StoreInfo() {
var sel = document.getElementById('Store').value;
var values = sel.split("|");
document.getElementById('txtName').value = values[1];
document.getElementById('txtAddr1').value = values[2];
document.getElementById('txtAddr2').value = values[3];
document.getElementById('txtAddr3').value = values[4];
document.getElementById('txtPhone').value = values[5];
document.getElementById('txtPhone2').value = values[6];
document.getElementById('txtEmail').value = values[7];
document.getElementById('txtWebpage').value = values[8];
document.getElementById('txtUrl').value = values[9];
}
Setup();
var-StoreDetails=[
['A store'、'test1'、'test2'、'test3'、'test4'、'test5'、'test6'、'test7'、'test8'、'url']
//注:无逗号
];
函数设置(){
var str=“”;
str+='请选择';
对于第8个变量的(变量i=0;i
document.getElementById('txtWebpage').value = values[8];
但是没有称为“txtWebpage”的元素,因此当它到达时:
document.getElementById('txtUrl').value = values[9];
没有定义
此外,与使用值8进行计数不同,我将使用:
StoreDetails[sel].length
你不能至少正确地缩进你的代码吗?(var i=1;你能在它不起作用的情况下对此进行分析吗?顺便说一句,你的html是无效的。更新的代码对我起作用了-我认为部分问题是StoreDetails
字符串中只有8个变量超出了行项目的名称:)Joe Terry,你介意和我分享这个表单吗?出于某种原因,它对我仍然不起作用,我已经尝试了所有方法。谢谢。就是这样,我遗漏了整个输入字段,我有8个,这就是为什么它不能写数据的原因!非常感谢你为我解释清楚。干杯,这只是一个问题,因为有人可能是他lpful也是。我正在尝试更改div内容(我有一个模式弹出窗口,上面有背景图像,我希望它在每次选择下拉菜单时都会更改),我使用的这个脚本是否可能?再次提前感谢。只是一个关于这个的问题,因为有人可能会有所帮助。我正在尝试更改div内容(我有一个模式弹出窗口,上面有背景图像,我希望它在每次选择下拉菜单时都会改变),我使用的这个脚本是否有可能?再次感谢。不相关,但在更改函数中放置类似于此文档的内容。getElementById('modalId')。className=“newBackgroundImageCssClass”你介意帮我解决这个问题吗?我已经解决了这个问题,我应该开始新的讨论还是…?我正在努力学习,谢谢!)
StoreDetails[sel].length