发送动作后更改按钮的背景颜色(单击一次后)

时间:2016-09-08 08:13:48

标签: html ajax forms

您好我有一个联系表单我想用PHP做。我有提交按钮,我希望所有字段都准备好按,发送电子邮件时更改我的按钮。我的按钮中的第一个是背景颜色为黄色且文本为“发送”的文本。当我按下按钮并发送电子邮件时,我想要将背景颜色更改为红色,并且我想在文本旁边添加一个图标,文本将在“已发送”中修改。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

template <class T>
void find_values_in_container(const T& container, int value, int &rv1, int &rv2)
{
  rv1 = rv2 = 0;  // Initialize
  if (container.empty() || container.front() >= value)
  {
    return;
  }
  for (const auto& v : container)
  {
     rv2++;
     if (v > value)
     {
         break;
     }
     rv1++;
  }
  return;
}

试试这个。你可以用javascript做到这一点。

答案 1 :(得分:0)

您有一个包含一些输入和提交按钮的表单。

您希望在填写所有表单字段后操作提交按钮,并在单击提交按钮后再次操作它。

你需要做的是写一些小的javascript(无论是简单的jilla,还是jQuery,选择最适合你的东西)来处理表单中的两件事

  1. 您的表单输入字段(首次提交按钮更改):   将事件附加到输入字段以根据需要检查验证,并相应地更改提交按钮。
  2. 您的表单提交按钮(第二次提交按钮更改):     将单击事件附加到提交按钮(并确保阻止默认,因此单击提交按钮后,将按照您希望的方式对其进行操作。
  3. 我给你写了一个例子,在我的场景中,我的表单中有两个输入,默认情况下是一个禁用和灰显的提交按钮。 只要所有表单字段都填入(非空),提交按钮就会变为活动状态(禁用属性删除和颜色更改) - 最后,当单击提交按钮时,它会将其颜色更改为绿色表示已被点击。

    $('#myForm input').on('keyup',function(){
        var validated = true;
        $('#myForm input').each(function(){
            if($(this).val() === ''){
            validated = false;
        }
        });
        if(validated){
          $('#submitBtn').removeClass('disabled').prop('disabled',false);
        }else{
          $('#submitBtn').addClass('disabled').prop('disabled',true);
        }
    });
    
    $('#submitBtn').on('click',function(e){
        e.preventDefault();
        e.stopImmediatePropagation();
        $(this).addClass('submited').prop('disabled',true);
    
        // the rest of your code for submission..
     });
    

    这是一个简单的完整工作示例: https://jsfiddle.net/wx9gonrh/

    当然,您可以使用此示例并根据自己的需要进行修改,或者使用此作为指导从头开始编写自己的示例。

    在您的情况下,您可能希望在成功发送电子邮件之后(例如ajax complete \ done事件)包含用于更改提交按钮的异步方法

    希望它有所帮助!