Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 单击将代码应用于输入框_Javascript_Php_Jquery_Magento - Fatal编程技术网

Javascript 单击将代码应用于输入框

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()) ?&

我有一个弹出窗口,当用户点击链接时出现。这将打开一个弹出窗口,该弹出窗口是与用户正在查看的页面不同的url

我想弄清楚的是,当用户单击弹出窗口上名为“Click to apply”的链接进入原始页面的输入框时,如何应用一些代码

<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())): ?>
                    &nbsp; <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" );
        });