<html>
<head>
<script>
window.attachEvent("onload",createJlMenu);
function createJlMenu()
{
createCtl();
for(var i=0;i<document.forms.length;i++)
{
var e=document.forms[i].elements;
for(var j=0;j<e.length;j++)
{
if(e[j].jlvalue!=undefined)
{
e[j].attachEvent("onchange",new Function("fromSubmit('"+e[j].name+"','"+e[j].jlvalue+"')"));
}
}
}
}
function fromSubmit(name,jlvalue)
{
var value=document.getElementById(name).value;
var para=jlvalue.split(",");
var count=para.length/5;
for(var k=0;k<count;k++)
{
var num=k*5;
document.getElementById('prog_id').value=para[num];
document.getElementById('f_text').value=para[num+1]+" as text";
document.getElementById('f_value').value=para[num+2]+" as value";
document.getElementById('dept_where').value= para[num+3].replace("$value",value);
document.getElementById('link_input_name').value=para[num+4];
var dForm=document.getElementById('dForm');
dForm.submit();
}}
function createCtl()
{
var body = document.body;
var form=document.getElementById("dForm");
if(form==null)
{
form = document.createElement("<form name=\"dForm\" id=\"dForm\" target=\"if_name\" action=\"test.jsp\" method=\"post\">");
var in1=document.createElement("<input type=\"hidden\" name=\"prog_id\" id=\"prog_id\">");
var in2=document.createElement("<input type=\"hidden\" name=\"f_text\" id=\"f_text\">");
var in3=document.createElement("<input type=\"hidden\" name=\"f_value\" id=\"f_value\">");
var in4=document.createElement("<input type=\"hidden\" name=\"dept_where\" id=\"dept_where\">");
var in5=document.createElement("<input type=\"hidden\" name=\"link_input_name\" id=\"link_input_name\">");
var frm = document.createElement("<iframe id=\"if_name\" name=\"if_name\" style=\"display:none\"></iframe>");
form.appendChild(in1);
form.appendChild(in2);
form.appendChild(in3);
form.appendChild(in4);
form.appendChild(in5);
form.appendChild(in5);
form.appendChild(frm);
body.appendChild(form);
}
}
</script>
</head>
<body>
<form name="f1">
<select id="ff" name="ff" jlvalue="aa,aa,aa,aa,aa,bb,bb,bb,bb,bb">
<option value='aa'>ff</option>
<option value='bb'>bb</option>
</select>
</form>
</body>
</html>在dForm.submit();前或后加上alert弹出一次则正确,否则有时提交一次,有时提交两次,如何解决
test.jsp就是显示这页面的值,用来判断提交了几次
<head>
<script>
window.attachEvent("onload",createJlMenu);
function createJlMenu()
{
createCtl();
for(var i=0;i<document.forms.length;i++)
{
var e=document.forms[i].elements;
for(var j=0;j<e.length;j++)
{
if(e[j].jlvalue!=undefined)
{
e[j].attachEvent("onchange",new Function("fromSubmit('"+e[j].name+"','"+e[j].jlvalue+"')"));
}
}
}
}
function fromSubmit(name,jlvalue)
{
var value=document.getElementById(name).value;
var para=jlvalue.split(",");
var count=para.length/5;
for(var k=0;k<count;k++)
{
var num=k*5;
document.getElementById('prog_id').value=para[num];
document.getElementById('f_text').value=para[num+1]+" as text";
document.getElementById('f_value').value=para[num+2]+" as value";
document.getElementById('dept_where').value= para[num+3].replace("$value",value);
document.getElementById('link_input_name').value=para[num+4];
var dForm=document.getElementById('dForm');
dForm.submit();
}}
function createCtl()
{
var body = document.body;
var form=document.getElementById("dForm");
if(form==null)
{
form = document.createElement("<form name=\"dForm\" id=\"dForm\" target=\"if_name\" action=\"test.jsp\" method=\"post\">");
var in1=document.createElement("<input type=\"hidden\" name=\"prog_id\" id=\"prog_id\">");
var in2=document.createElement("<input type=\"hidden\" name=\"f_text\" id=\"f_text\">");
var in3=document.createElement("<input type=\"hidden\" name=\"f_value\" id=\"f_value\">");
var in4=document.createElement("<input type=\"hidden\" name=\"dept_where\" id=\"dept_where\">");
var in5=document.createElement("<input type=\"hidden\" name=\"link_input_name\" id=\"link_input_name\">");
var frm = document.createElement("<iframe id=\"if_name\" name=\"if_name\" style=\"display:none\"></iframe>");
form.appendChild(in1);
form.appendChild(in2);
form.appendChild(in3);
form.appendChild(in4);
form.appendChild(in5);
form.appendChild(in5);
form.appendChild(frm);
body.appendChild(form);
}
}
</script>
</head>
<body>
<form name="f1">
<select id="ff" name="ff" jlvalue="aa,aa,aa,aa,aa,bb,bb,bb,bb,bb">
<option value='aa'>ff</option>
<option value='bb'>bb</option>
</select>
</form>
</body>
</html>在dForm.submit();前或后加上alert弹出一次则正确,否则有时提交一次,有时提交两次,如何解决
test.jsp就是显示这页面的值,用来判断提交了几次
<head>
<script>
var _count = 0;
function submitCount(){
alert("第"+_count+"次提交");
_count++;
return false;
}
window.attachEvent("onload",createJlMenu);
function createJlMenu()
{
createCtl();
for(var i=0;i<document.forms.length;i++)
{
var e=document.forms[i].elements;
for(var j=0;j<e.length;j++)
{
if(e[j].jlvalue!=undefined)
{
e[j].attachEvent("onchange",new Function("fromSubmit('"+e[j].name+"','"+e[j].jlvalue+"')"));
}
}
}
}
function fromSubmit(name,jlvalue)
{
var value=document.getElementById(name).value;
var para=jlvalue.split(",");
var count=para.length/5;
for(var k=0;k<count;k++)
{
var num=k*5;
document.getElementById('prog_id').value=para[num];
document.getElementById('f_text').value=para[num+1]+" as text";
document.getElementById('f_value').value=para[num+2]+" as value";
document.getElementById('dept_where').value= para[num+3].replace("$value",value);
document.getElementById('link_input_name').value=para[num+4];
var dForm=document.getElementById('dForm');
dForm.submit();
}}
function createCtl()
{
var body = document.body;
var form=document.getElementById("dForm");
if(form==null)
{
form = document.createElement("<form name=\"dForm\" id=\"dForm\" target=\"if_name\" action=\"test.jsp\" method=\"post\" onsubmit=\"return submitCount()\">");
var in1=document.createElement("<input type=\"hidden\" name=\"prog_id\" id=\"prog_id\">");
var in2=document.createElement("<input type=\"hidden\" name=\"f_text\" id=\"f_text\">");
var in3=document.createElement("<input type=\"hidden\" name=\"f_value\" id=\"f_value\">");
var in4=document.createElement("<input type=\"hidden\" name=\"dept_where\" id=\"dept_where\">");
var in5=document.createElement("<input type=\"hidden\" name=\"link_input_name\" id=\"link_input_name\">");
var frm = document.createElement("<iframe id=\"if_name\" name=\"if_name\" style=\"display:none\"></iframe>");
form.appendChild(in1);
form.appendChild(in2);
form.appendChild(in3);
form.appendChild(in4);
form.appendChild(in5);
form.appendChild(in5);
form.appendChild(frm);
body.appendChild(form);
}
}
</script>
</head>
<body>
<form name="f1">
<select id="ff" name="ff" jlvalue="aa,aa,aa,aa,aa,bb,bb,bb,bb,bb">
<option value='aa'>ff</option>
<option value='bb'>bb</option>
</select>
</form>
</body>
</html>
就是写在 cookie 里
提交一次就写一次
就知道提交了几次了