Javascript 单击将代码应用于输入框
我有一个弹出窗口,当用户点击链接时出现。这将打开一个弹出窗口,该弹出窗口是与用户正在查看的页面不同的url 我想弄清楚的是,当用户单击弹出窗口上名为“Click to apply”的链接进入原始页面的输入框时,如何应用一些代码Javascript 单击将代码应用于输入框,javascript,php,jquery,magento,Javascript,Php,Jquery,Magento,我有一个弹出窗口,当用户点击链接时出现。这将打开一个弹出窗口,该弹出窗口是与用户正在查看的页面不同的url 我想弄清楚的是,当用户单击弹出窗口上名为“Click to apply”的链接进入原始页面的输入框时,如何应用一些代码 <input class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->htmlEscape($this->getCouponCode()) ?&
<input class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->htmlEscape($this->getCouponCode()) ?>" />
这是我的密码
原始页面
<form id="discount-coupon-form" action="<?php echo $this->getUrl('checkout/cart/couponPost') ?>" method="post">
<div class="discount">
<h2><?php echo $this->__('Discount Codes') ?></h2>
<div class="discount-form">
<label for="coupon_code"><?php echo $this->__('Enter your coupon code if you have one.') ?></label>
<input type="hidden" name="remove" id="remove-coupone" value="0" />
<div class="input-box">
<input class="input-text" id="coupon_code" name="coupon_code" value="<?php echo $this->htmlEscape($this->getCouponCode()) ?>" />
</div>
<div class="buttons-set">
<button type="button" title="<?php echo $this->__('Apply Coupon') ?>" class="button" onclick="discountForm.submit(false)" value="<?php echo $this->__('Apply Coupon') ?>"><span><span><?php echo $this->__('Apply Coupon') ?></span></span></button>
<button type="button" title="<?php echo $this->__('Get Coupon') ?>" class="button" onclick="return popitup('http://127.0.0.1:8888/giftreg/activecoupons')" value="<?php echo $this->__('Get Coupon') ?>"><span><span><?php echo $this->__('Get Coupon') ?></span></span></button>
<?php if(strlen($this->getCouponCode())): ?>
<button type="button" title="<?php echo $this->__('Cancel Coupon') ?>" class="button" onclick="discountForm.submit(true)" value="<?php echo $this->__('Cancel Coupon') ?>"><span><span><?php echo $this->__('Cancel Coupon') ?></span></span></button>
<?php endif;?>
</div>
</div>
</div>
</form>
<script language="javascript" type="text/javascript">
<!--
function popitup(url) {
newwindow=window.open(url,'name','height=500,width=1000');
if (window.focus) {newwindow.focus()}
return false;
}
// -->
</script>
<a href="" value="SomeCodeToApply" class="bottom"><strong>Click To Apply</strong></a>
Soo,不使用弹出窗口
你需要一个“查看优惠券”之类的按钮
苏,你点击按钮
<a id="view" href="#">View Copuns</a> //your buttonn
<div id="myCoupons" style="display:none;"> //your div coupons
<p>COUPON12334</p>
<a href="#" class="btn_coupon" id="<? echo $id_coupon_or_coupon_text_etc?>">buton</a>
<p>COUPON123214</p>
<a href="#" class="btn_coupon" id="<? echo $id_coupon_or_coupon_text_etc?>">buton</a>
<p>COUPON5343</p>
<a href="#" class="btn_coupon" id="<? echo $id_coupon_or_coupon_text_etc?>">buton</a>
</div>
//Tour input with the value coupon
<input type="hidden" id="coupon" name="coupon"/>
//your script
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript>
$('#view').click(function(){ //When you click view, show the div
$('#myCoupons').show(); //Show the div of coupons.
});
$('.btn_coupon').click(function(){ //When you click on a btn_coupon, close the div and put the val of your coupon in input hidden
var value = $(this).attr("id"));
alert("You click in the coupon "+value;
//you can put this val in a input hidden
$('#coupon').val(value);
$('#myCoupons').hide(); //CLOSE THE DIV OF COUPONS
});
</script>
//你的按钮
//你的股息券
政变12334
政变123214
政变5343
//带价值优惠券的旅游输入
//你的剧本
我的建议是尽可能避免弹出窗口,如果大多数人使用广告块,它将阻止显示重要信息
而是使用Jquery对话框或类似的解决方案。你需要jQueryUI,我没有包括CSS,所以看起来很糟糕。看看小提琴:
window.opener
指向从中打开弹出窗口的窗口实例(使用window.open
)
因此,当用户单击弹出窗口中的“应用”链接/按钮时,您可以使用该链接/按钮访问打开页面中的表单元素,设置值,然后关闭弹出窗口。您希望在单击“底部”时添加输入值吗在您想要添加val的确切位置初始化?我想在输入中的原始页面中添加值,该页面具有id优惠券代码
关键字:窗口。opener
哦,单击它也会关闭弹出窗口OK,查看我的答案,但我不确定您是否能理解。我将该值添加到弹出页面中,但它不起作用。您记得弹出页面和实际页面是两个不同的链接。那有关系吗?还是最好在原始页面中添加弹出信息?我认为最好都在同一个窗口中。我不使用PopUp,但我认为你可以使用html5的模式,我不明白你是否真的尝试过,你可以使用$.ajax来获取php值。好的,现在我只需要想一想如何使用ajax将其拉到原始页面上,对吗?你需要创建一个php文件并编写$优惠券=$this->htmlEscape($this->getCouponCode();然后echo$优惠券;是的,我必须在另一个页面中生成它。默认情况下,Magento不列出可用优惠券。我已创建了一个显示可用优惠券的扩展。在用户的购物车中,他们可以单击我创建的链接以显示优惠券(因此,弹出窗口)然后我需要它应用到前面提到的优惠券输入字段。Make-since?酷,我会尝试一下。谢谢!我得到的TypeError“undefined”不是一个函数,所以它不起作用。知道为什么吗?
<div id="dialog-confirm" title="Confirm Purchase">
<p><span class="ui-icon ui-icon-alert" style="float:left; margin:0 7px 20px 0;"></span>Your coupon code is:<span id="my_code"> </span></p>
</div>
<a href="#" id="coupon_code" value="488452345" class="bottom"><strong>Click To Open Popup</strong></a>
<a href="#" class="closePopup"><strong>Close Popup from page</strong></a>
$('.bottom').click(function(){
var value = $('#coupon_code').attr('value');
//append code
$('#my_code').html(value);
//open-popup
$( "#dialog-confirm" ).dialog( "open" );
});
$( "#dialog-confirm" ).dialog({
resizable: false,
autoOpen:false,
height:140,
modal: true,
buttons: {
"Option_1": function() {
$( this ).dialog( "close" );
},
Cancel: function() {
$( this ).dialog( "close" );
}
}
});
$( ".closePopup" ).click(function() {
$( "#dialog-confirm" ).dialog( "close" );
});