jQuery按钮一键二功能

时间:2019-03-14 17:32:32

标签: javascript jquery

我有一个要通过PayPal按钮单击提交的Web表单。

我能够让一个或另一个工作,但不能两个都工作。因此,贝宝(Paypal)按钮是提交表单,然后加载付款页面。 此代码仅提交表单,而不会加载付款页面。

$('#block-paypalblock input[type="image"]').click(function() {
    $('#edit-actions input#edit-actions-submit').click();
})

此代码仅加载付款页面:

$('#block-paypalblock input[type="image"]').click(function() {
    $('#edit-actions input#edit-actions-submit').click();
    $(this).click();
})

我想念什么?我需要第三个按钮来处理其他两个按钮吗?

<form class="webform-submission-form webform-submission-add-form webform-submission-purchase-1-2-3-form webform-submission-purchase-1-2-3-add-form js-webform-details-toggle webform-details-toggle contextual-region" data-drupal-selector="webform-submission-purchase-1-2-3-add-form" action="/form/purchase-1-2-3" method="post" id="webform-submission-purchase-1-2-3-add-form" accept-charset="UTF-8" data-drupal-form-fields="edit-first-name,edit-actions-submit">

2 个答案:

答案 0 :(得分:1)

我认为您的选择器不好,尝试用单个选择器单击两个按钮对我不起作用,但这确实可行。

        class Example extends React.Component {
  constructor(props) {
    super(props);

    this.state = {
      Item: 5,
      skip: 0
    }

    this.handleClick = this.handleClick.bind(this);
  }

  urlParams() {
    return `http://localhost:3001/meetups?filter[limit]=${(this.state.Item)}&&filter[skip]=${this.state.skip}`
  }

  handleClick() {
    this.setState({skip: this.state.skip + 1})
  }

  render() {
    return (
      <div>
        <a href={this.urlParams()}>Example link</a>
        <pre>{this.urlParams()}</pre>
        <button onClick={this.handleClick}>Change link</button>
      </div>
    )
  }
}


ReactDOM.render(<Example/>, document.querySelector('div#my-example' ))
$(function () {
    $('.test').click(function () {
        $('#edit-actions').click();
        $('input#edit-actions-submit').click();
    });

    $('#edit-actions').click(function () {
        console.log('#edit-actions', 'clicked');
    });

    $('input#edit-actions-submit').click(function () {
        console.log('#edit-actions-submit', 'clicked');
    });
});

答案 1 :(得分:1)

执行此操作的最佳方法是为两个函数添加名称:

function myfunction1 () {
    myelement1 = $('#element1')
    //work with element 1
});

function myfunction2 () {
    myelement2 = $('#element2')
    //work with element 2
});

然后在需要时致电

$(mytrigger).click(function () {
    function1();
    function2();
});