我的问题是。我想在发送之前更改所需的表单字段。当从没有php number_format的后端加载时,它们将periots显示为十进制分隔符,我不想要但是字段需要这个。 magento类验证字段,我不想自己更改数字或让客户完成。在(改变)(模糊)或点击上进行更改没有问题。
但我希望在提交表单时更改字段。这是html:
click
和第一行中带问题的jQuery脚本:
<form>
<input id="price" value="
<?php if (isset ( $productPrice )) {
echo number_format($productPrice, '2', ',', '.');
} ?>" class="validate-zero-or-greater input-text validation-passed"
type="text">
</form>
<button class="button" id="actionbutton"
onclick="function(),checkTextarea()" type="submit" title="<?php echo $this-
>__('Save Product') ?>">
</button>
这个在第一行工作得很好,因为有变化的事件,我想。
$("#price").(function(){
event.preventDefault();
if (jQuery('#price').val().includes(',')) {
var varwithComma = jQuery('#price').val();
varwithoutComma = varwithComma.replace(",",".");
jQuery('#price').val(varwithoutComma);
} else {
console.log('No Comma');
};
答案 0 :(得分:0)
//bind on the submit of the form
$('#whateverMyFormSelectorIs').on('submit', function(e){
//cancel the form submit so we can manipulate the inputs
e.preventDefault();
var $price = $('#price');
//replace any comma in the price with a decimal
//will do nothing if there are no commas
$price.val($price.val().replace(',', '.'));
//make other changes to the form
//finally, submit the raw dom element
//doing this bypasses the jQuery submit handler which should not
//run again
this.submit();
});