Php 在product.tpl Open Cart中集成用于选项签入的ajax
我想把ajax检查脚本放在product.tplcatalog中,它应该接受输入的文本框值,并且应该在数据库中进行检查,如果不存在,它应该立即给出错误消息。我有ajax脚本,但无法集成,因为我不能使用从后端生成的textbox名称 这是我的product.tpl文本框Php 在product.tpl Open Cart中集成用于选项签入的ajax,php,jquery,templates,opencart,Php,Jquery,Templates,Opencart,我想把ajax检查脚本放在product.tplcatalog中,它应该接受输入的文本框值,并且应该在数据库中进行检查,如果不存在,它应该立即给出错误消息。我有ajax脚本,但无法集成,因为我不能使用从后端生成的textbox名称 这是我的product.tpl文本框 <?php if ($option['type'] == 'text') { ?> <div id="option-<?php echo $option['product_option_id
<?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 } ?>
这是我的ajax
<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"> 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>
在textboxname中,我应该放的东西我没有得到。
请有人建议我这必须是硬编码的-选项文本字段没有class或id属性。打开具有此文本字段选项的产品详细信息,打开FireBug并检查该文本字段输入。查找其名称属性值。它可能看起来像这样:
<input type="text" value="test" name="option[208]">
这应该行得通
还有一个建议:不要使用一些自定义的ajax\u check.php文件,您应该在/catalog/controller/product/product.php类中实现自己的操作方法,并在index.php?route=catalog/product/ajax\u check这样的URL上发布,假设新方法/操作将被称为ajax\u check
$('div.options input[name="option[208]"]').change(function() { ... }