如何定义一个使用html按钮属性onClick调用的jQuery函数?

时间:2018-02-14 18:18:39

标签: jquery onclick magento-1.9

我的问题是。我想在发送之前更改所需的表单字段。当从没有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');
};

1 个答案:

答案 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();
});