Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/412.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将代码分配给特定按钮_Javascript_Jquery_Ajax - Fatal编程技术网

Javascript 将代码分配给特定按钮

Javascript 将代码分配给特定按钮,javascript,jquery,ajax,Javascript,Jquery,Ajax,我在一个页面上有三个表单,每个表单中都有提交按钮,有一个代码,当我单击提交按钮时,该代码会更改特定表单中按钮的值,但当我单击该提交按钮时,各种表单按钮中的所有值都会更改,但我想根据我单击的表单更改值 <script language="javascript"> /** * Disable submit button */ $(function(){ $('input:submit').click(function(){ $(this).val(

我在一个页面上有三个表单,每个表单中都有提交按钮,有一个代码,当我单击提交按钮时,该代码会更改特定表单中按钮的值,但当我单击该提交按钮时,各种表单按钮中的所有值都会更改,但我想根据我单击的表单更改值

<script language="javascript">
/**
 * Disable submit button
 */
$(function(){
      $('input:submit').click(function(){
            $(this).val('Request Placed...');
            $(this).attr('disabled', 'disabled');
            $(this).parents('form').submit();
      });
});
$(window).load(function(){
      $('input:submit').removeAttr('disabled');
});
</script>

使用jQuery选择器只选择您需要的表单,只支持id=form_2的表单的输入

$(function(){
      $('input:submit', '#form_2').click(function(){
            $(this).val('Request Placed...');
            $(this).attr('disabled', 'disabled');
      });
});

JSFIDLE:

在JavaScript中,您可以这样做, document.getElementByIdBUTTON的ID.value=此处的文本; 只要把那一行做一行就行了

因此,当用户单击按钮时,会发生onclick事件,该事件将更改按钮的值。确保在输入标记中有按钮的id和值

这是我举的一个小例子

在HTML中

<form>
    <input type="text" id="Input" />
    <input type="button" id="BUTTON'S ID" value="TEXT HERE" onclick="Changetxt()" />
</form>
在JavaScript中

<script>
    function Changetxt()
    {
        document.getElementById("BUTTON'S ID").value = "SOME OTHER TEXT";
    }
</script>

因此,当用户单击按钮时,按钮的文本将从此处的文本更改为其他文本。

我不确定您的要求。不过,此演示可能会为您提供一些解决问题的方法

HTML:


JSFIDLE Demo:

显示的代码只会更改单击的按钮,而不会更改任何其他按钮。在jsfiddle.net中创建一个复制问题的演示。用于禁用的逻辑毫无意义。您是否尝试将$window.load替换为$document.ready?@qwertmax,我是jquery新手,所以不知道如何操作。你能把它用代码的形式写出来吗me@charlietfl,当我单击其他表单中的“提交”按钮时,该表单的按钮值也会发生变化。我认为您需要更好地解释预期内容。有问题的措辞与你在评论中所说的不符。如果您只需要一个按钮来执行此操作,请通过更具体的选择器将其定位。给它一个ID是最简单的选择器,但也可以基于父窗体,无需在此处@reply;OP总是在其问题的答案发布时收到通知。rob您的代码工作得很好,但表单中的问题之一是分配一个操作,其中必须将一个变量转移到另一个页面,但它似乎没有重定向到该页面。当我在文本字段中输入一些变量并按“发送”时,按钮将禁用并发出警报,但我希望它能够将变量发送到不同的页面,而其他表单则在单击时禁用。有三种形式,第一种是单击时禁用,另一种是单击时发送变量。我希望这次你能抓住我
<form id="form1" action="action1">
    <input type="text" id="txt1" />
    <input type="submit" value="Submit" />
</form>
<form id="form2" action="action2">
    <input type="text" id="txt2" />
    <input type="submit" value="Submit" />
</form>
<form id="form3" action="action3">
    <input type="text" id="txt3" />
    <input type="submit" value="Submit" />
</form>
(function () {
    var $submitBtn,
        $form,
        submitBtnHandler = function (event) {
            event.preventDefault();
            var $self = $(this);
            $self.val('Request Placed...');
            $self.prop('disabled', true);
            $self.parents('form').submit();
        },
        formSubmitHandler = function (event) {
            event.preventDefault(); // Added this to stay in the same page when submit form. If you want to redirect to the action URL(action1, action2, action3 etc), please remove it.
            alert("Hi, I am " + this.id);
        },
        resetSubmitBtnState = function () {
            $submitBtn.removeAttr('disabled');
        },
        init = function () {
            $submitBtn = $('input:submit');
            $form = $('form');

            $submitBtn.on('click', submitBtnHandler);
            $form.on('submit', formSubmitHandler);
        };
    $(document).ready(init);
    $(window).load(resetSubmitBtnState);
}());