Javascript PHP/JS:iframe打开时自动单击按钮
当从结果页面打开iframe时,我试图自动单击iframe中的一个按钮(将文章添加到购物车) 我的代码正在运行,但是页面一直在加载,它一直在添加到购物车中,没有停止 结果页:Javascript PHP/JS:iframe打开时自动单击按钮,javascript,php,Javascript,Php,当从结果页面打开iframe时,我试图自动单击iframe中的一个按钮(将文章添加到购物车) 我的代码正在运行,但是页面一直在加载,它一直在添加到购物车中,没有停止 结果页: <form> <a href='#cart'>Add</a> <div id='cart'> <iframe src="http://domaine.com/inframe.php" name = 'myIframe' ></iframe> </
<form>
<a href='#cart'>Add</a>
<div id='cart'>
<iframe src="http://domaine.com/inframe.php" name = 'myIframe' ></iframe>
</div>
</form>
IFRAME:
<form action='' method='post'>
<input type='submit' id ="iframeAdd" name='iframeAdd' value='ADD'>
<input type='hidden' name='quantity'>
<input type='hidden' name='item' value='1' />
<input type='hidden' name='price' value='20' />
<script>
window.onload = function(){
document.getElementById('iframeAdd').click();
}
</script>
<?php
if ( isset( $_POST['iframeAdd'] ) ) {
echo 'ADDED !';
} else echo 'ERROR';
?>
</form>
window.onload=函数(){
document.getElementById('iframeAdd')。单击();
}
您正在提交表单(导致页面重新加载),同时执行单击()
操作。您需要检查表单是否以javascript提交。例如:
<form action='?submitted' method='post'>
<input type='submit' id ="iframeAdd" name='iframeAdd' value='ADD'>
<input type='hidden' name='quantity'>
<input type='hidden' name='item' value='1' />
<input type='hidden' name='price' value='20' />
<script>
function getParameterByName(name, url) {
if (!url) url = window.location.href;
name = name.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + name + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return decodeURIComponent(results[2].replace(/\+/g, " "));
}
window.onload = function(){
if(getParameterByName('submitted') === null){
document.getElementById('iframeAdd').click();
}
}
</script>
<?php
if ( isset( $_POST['iframeAdd'] ) ) {
echo 'ADDED !';
} else echo 'ERROR';
?>
</form>
函数getParameterByName(名称、url){
如果(!url)url=window.location.href;
name=name.replace(/[\[\]]/g,\\$&);
var regex=new RegExp(“[?&]”+name+”(=([^]*)和|#|$),
结果=regex.exec(url);
如果(!results)返回null;
如果(!results[2])返回“”;
返回组件(结果[2]。替换(/\+/g,”);
}
window.onload=函数(){
if(getParameterByName('submitted')==null){
document.getElementById('iframeAdd')。单击();
}
}
它在第一次表单提交后添加get参数
submitted
,并在javascript中检查是否设置了此参数(如果未设置-执行按钮单击)页面不再无限期加载,但每次手动页面加载都会将所有文章添加到购物车中。。。