我从加密的php脚本中获取数据,该脚本输出变量,例如: %%Price%%
令人讨厌的是,这些变量不仅仅是小数和数值。
加密脚本将%%Price%%
呈现为:
<font color="green"><strong>Sale Price: $2,489.99</strong></font>
我想将%%Price%%
的值剥离到价格(数字和小数),然后将该结果作为值放在隐藏的表单字段中。
我试过了:
<form id="add-to-cart">
<input type="hidden" name="price" id="price" value=""/>
<button type="submit"> Review & Order</button>
</form>
<script>
var price = "%%Price%%";
var newPrice = price.replace(/[^0-9\.]/g, '');
jQuery("#price").val(newPrice);
</script>
...但是这会给出一个空结果
答案 0 :(得分:0)
我会用:
newPrice = parseFloat(price.substring(2, price.length - 3));
答案 1 :(得分:0)
我用jsfiddle检查了你的代码,看起来没问题。点击此处:http://jsfiddle.net/CmHn6/1/。我实际上换了:
var price = "%%Price%%";
使用:
var price = '<font color="green"><strong>Sale Price: $2,489.99</strong></font>';
正如你在你的例子中所说的那样。请注意,我在那里使用了单引号。如果您的加密脚本没有考虑到这一点,那么您的行可能最终会像:
var price = "<font color="green"><strong>Sale Price: $2,489.99</strong></font>";
会导致语法错误,并且不会填充您的输入元素。 如果你的字符串从不使用单引号,那么你可以在代码中使用单引号,就像在我的例子中一样。 如果没有,您可以将%% Price %%放入隐藏的div中,并从那里读取该值:
<div id="pricediv" display="style: none">%%Price%%</div>
<form id="add-to-cart">
<input type="hidden" name="price" id="price" value=""/>
<button type="submit"> Review & Order</button>
</form>
<script>
var price = $("#pricediv").html();
var newPrice = price.replace(/[^0-9\.]/g, '');
jQuery("#price").val(newPrice);
</script>