我想发布一个表单弹出窗口。问题是,表单成功发布但它也在父窗口上发布。我想只在弹出窗口中提交表单
'<input type= button value ="Submit Form" onclick="adNetworkForm()" >
<script>
function adNetworkForm(){
targetUrl = "http://somesite.com"
var myForm = document.createElement('form');
myForm.method = 'post';
//myForm.action = targetUrl;
var inpt1 = document.createElement('input');
inpt1.setAttribute('name','a');
inpt1.setAttribute('type', 'hidden')
inpt1.value = "1";
var inpt2 = document.createElement('input');
inpt2.setAttribute('name','b');
inpt2.setAttribute('type', 'hidden')
inpt2.value = 2;
myForm.appendChild(inpt1);
myForm.appendChild(inpt2);
document.body.appendChild(myForm);
myForm.submit(popitup(targetUrl));
document.body.removeChild(myForm);
}
function popitup(url) {
newwindow=window.open(url,'name','height=600,width=500');
if (window.focus) {newwindow.focus()}
return false;
}
</script>'
答案 0 :(得分:5)
您可以为表单分配一个onsubmit事件处理程序来调用一个函数,该函数在提交表单时弹出一个新窗口并将表单定位到该窗口,如:
<form action="..." method="post" onsubmit="some_popup_post(this);">
<!-- form fields etc here -->
</form>
js代码将是:
function some_popup_post(form) {
window.open('', 'formpopup', 'width=400,height=400,resizeable,scrollbars');
form.target = 'formpopup';
}
你的意思是这样的......