首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在product.tpl Open中集成ajax选项检查

问在product.tpl Open中集成ajax选项检查
EN

Stack Overflow用户
提问于 2013-08-14 05:37:30
回答 1查看 523关注 0票数 1

我想把ajax检查脚本放在product.tpl(目录)中,它应该接受输入的文本框值,并且应该签入数据库,如果不立即存在,它应该给出错误消息本身。我有ajax脚本,但是不能集成,因为我不能使用文本框名,textbox名称是从后端生成的。

这是我的product.tpl文本框,

代码语言:javascript
复制
<?php if ($option['type'] == 'text') { ?>
        <div id="option-<?php echo $option['product_option_id']; ?>" class="option">
          <?php if ($option['required']) { ?>
          <span class="required">*</span>
          <?php } ?>
          <b><?php echo $option['name']; ?>:</b><br />
          <input type="text" name="option[<?php echo $option['product_option_id']; ?>]" value="<?php echo $option['option_value']; ?>" />
        </div>
        <br />
        <?php } ?>

这是我的阿贾克斯

代码语言:javascript
复制
<script type="text/javascript">
$(document).ready(function()//When the dom is ready 
{
$("#textboxname").change(function() 
{ 

var name = $("#textboxname").val();
if(textboxname.length > 3)
{
$("#availability_status").html('<img src="loader.gif" align="absmiddle">&nbsp;Checking availability...');


$.ajax({  //Make the Ajax Request
    type: "POST",  
    url: "ajax_check.php",  //file name
    data: "name="+ name,  //data
    success: function(server_response){  

   $("#availability_status").ajaxComplete(function(event, request){ 

   if(server_response == '0')//if ajax_check.php return value "0"
   { 
   $("#availability_status").html('<img src="available.png" align="absmiddle"> <font color="Green"> Available </font>  ');
   //add this image to the span with id "availability_status"
   }  
   else  if(server_response == '1')//if it returns "1"
   {  
    $("#availability_status").html('<img src="not_available.png" align="absmiddle"> <font color="red">Not Available </font>');
   }  

   });
   } 

  }); 

}

return false;
});

});
</script>

在文本框名中,我应该说我没有得到什么。请有人建议我

EN

回答 1

Stack Overflow用户

发布于 2013-08-15 11:06:46

这必须是硬编码-选项文本字段没有类或id属性。打开具有此文本字段选项的产品详细信息,打开FireBug并检查该文本字段输入。找到它的name属性值。它可能看起来像这个:

代码语言:javascript
复制
<input type="text" value="test" name="option[208]">

现在,在您的jQuery中,将此用作选择器:

代码语言:javascript
复制
$('div.options input[name="option[208]"]').change(function() { ... }

这应该能行。

还有一个建议:与其使用自定义的ajax_check.php文件,不如在/catalog/controller/product/product.php类中实现自己的操作(方法),并向index.php?route=catalog/product/ajax_check这样的URL发布文章(假设新的方法/操作将被称为ajax_check).

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18223939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档