После двойного щелчка только JQuery запускается для метода AJAX Post - PullRequest
0 голосов
/ 27 декабря 2011

Я использую метод post ajax для отправки значений из aspx в php.in, который я вызываю этот метод ajax как функцию в событии нажатия кнопки после вставки значений только в БД, я вызову скрипт, но когда я нажмуво второй раз только этот скрипт вызывает, как это исправить, нажимая при первом щелчке, а также этот метод не работает в Firefox, но работает в IE при щелчке во второй раз.

    <script type="text/javascript" language="javascript">
  function resetFields()
  {
     $(document).ready(function(){
    $("#<%=this.btnAdd.ClientID %>").click(function() {
    // we want to store the values from the form input box, then send via ajax below
    var ddlCompany = $("#<%=this.ddlCompany.ClientID %>").attr('value');
    var txtLocation = $("#<%=this.txtLocation.ClientID %>").attr('value');
    var txtDept = $("#<%=this.txtDept.ClientID %>").attr('value');
    var ddlIndustryType = $("#<%=this.ddlIndustryType.ClientID %>").attr('value');
    var txtDesg = $("#<%=this.txtDesg.ClientID %>").attr('value');
    var ddlFnalArea = $("#<%=this.ddlFnalArea.ClientID %>").attr('value');
    var txtExperience = $("#<%=this.txtExperience.ClientID %>").attr('value');
    var txtJobDesc = $("#<%=this.txtJobDesc.ClientID %>").attr('value');
    var txtEducation = $("#<%=this.txtEducation.ClientID %>").attr('value');
    var txtDesiredProfile = $("#<%=this.txtDesiredProfile.ClientID %>").attr('value');
    var txtPositionWanted = $("#<%=this.txtPositionWanted.ClientID %>").attr('value');
    var txtAddedBy = $("#<%=this.txtAddedBy.ClientID %>").attr('value');
    var txtContactName = $("#<%=this.txtContactName.ClientID %>").attr('value');
    var txtEmailid = $("#<%=this.txtEmailid.ClientID %>").attr('value');
    var txtContactno = $("#<%=this.txtContactno.ClientID %>").attr('value');
      $.ajax({
      type: "POST",
       url: "http://172.16.126.32/Riyas/marggroup.com/get-current-openings.php",
      data: "ddlCompany=" + ddlCompany + "& txtLocation="+ txtLocation+"& txtDept="+ txtDept+"& ddlIndustryType="+ ddlIndustryType+"& txtDesg="+ txtDesg+"& ddlFnalArea=" + ddlFnalArea+"& txtExperience="+ txtExperience+"& txtJobDesc="+ txtJobDesc+"& txtEducation="+ txtEducation+"& txtDesiredProfile="+ txtDesiredProfile+"& txtPositionWanted="+ txtPositionWanted+"& txtAddedBy="+ txtAddedBy+"& txtContactName="+ txtContactName+"& txtEmailid="+ txtEmailid+"& txtContactno="+ txtContactno,
      success: function(response){
        $('div.success').html(response);
      }
    });
       return false;
     });
    });
  }
  </script>

код:

protected void btnAdd_Click(object sender, EventArgs e)
  {
c.MyQuery("insert into tblHrims_currentOpeningsNew(nvrDesignation,nvrCompany,nvrExperience,nvrLocation,nvrEducation,nvrDepartment,nvrIndustryType,nvrFnalArea,nvrJobDesc,nvrDesiredProfile,nvrContactPerson," +
" nvrContactNumber,nvrEmailId,nvrWantedPositions,nvrAddedBy,dttAddedon) values('" + txtDesg.Text.Trim().Replace("'", "") + "','" + ddlCompany.SelectedItem.Text + "','" + txtExperience.Text + "','" + txtLocation.Text + "','" + txtEducation.Text + "'," +
" '" + txtDept.Text.Trim().Replace("'", "") + "','" + ddlIndustryType.SelectedItem.Text + "','" + ddlFnalArea.SelectedItem.Text + "','" + txtJobDesc.Text.Replace("'", "''") + "','" + txtDesiredProfile.Text.Replace("'", "") + "'," +
" '" + txtContactName.Text.Trim().Replace("'", "") + "','" + txtContactno.Text.Trim().Replace("'", "") + "','" + txtEmailid.Text.Trim().Replace("'", "") + "','" + txtPositionWanted.Text.Trim().Replace("'", "") + "'," +
" '" + txtAddedBy.Text.Trim().Replace("'", "") + "','" + c.GetValue("select getdate()") + "')");
      string strID = c.GetValue("select max(intsno) from tblhrims_currentopeningsNew");
Page.ClientScript.RegisterStartupScript(this.GetType(), "reset", " resetFields();", true);
}

Ответы [ 2 ]

1 голос
/ 27 декабря 2011

Попробуйте:

$("#&lt;%=this.btnAdd.ClientID %>").live('click', function() {

Надеюсь, это поможет

0 голосов
/ 27 декабря 2011
  1. вы можете использовать on обработчик событий в jquery.live, bind and delegate устарели в jquery 1.7.
  2. вам не нужно использовать attr('value') вместо val() будет работать.
  3. include datatype = 'html' в вызове ajax для обозначения этого response будет в html.

  4. Также вы сохранили $(document).ready(function(){ внутри функции resetFields.который не нужен.

  5. удалить функцию resetFields вызов из button элемента.

Затем попробуйте использовать приведенный ниже код, я надеюсь, что этоВам помогут

String scriptString = "<script type=\"text/javascript\">$(document).ready(function(){

    $('#<%=this.btnAdd.ClientID %>').on('click',function(){
    var ddlCompany = $('#<%=this.ddlCompany.ClientID %>').val();
    var txtLocation = $('#<%=this.txtLocation.ClientID %>').val();
    var txtDept = $('#<%=this.txtDept.ClientID %>').val();
    var ddlIndustryType = $('#<%=this.ddlIndustryType.ClientID %>').val();
    var txtDesg = $('#<%=this.txtDesg.ClientID %>').val();
    var ddlFnalArea = $('#<%=this.ddlFnalArea.ClientID %>').val();
    var txtExperience = $('#<%=this.txtExperience.ClientID %>').val();
    var txtJobDesc = $('#<%=this.txtJobDesc.ClientID %>').val();
    var txtEducation = $('#<%=this.txtEducation.ClientID %>').val();
    var txtDesiredProfile = $('#<%=this.txtDesiredProfile.ClientID %>').val();
    var txtPositionWanted = $('#<%=this.txtPositionWanted.ClientID %>')val();
    var txtAddedBy = $('#<%=this.txtAddedBy.ClientID %>').val();
    var txtContactName = $('#<%=this.txtContactName.ClientID %>').val();
    var txtEmailid = $('#<%=this.txtEmailid.ClientID %>').val();
    var txtContactno = $('#<%=this.txtContactno.ClientID %>').val();

    $.ajax({
      type: 'POST',
      url: 'http://172.16.126.32/Riyas/marggroup.com/get-current-openings.php',
      data: 'ddlCompany='+ddlCompany+'&txtLocation='+txtLocation+'&txtDept='+txtDept+'&ddlIndustryType='+ddlIndustryType+'&txtDesg='+txtDesg+'&ddlFnalArea='+ddlFnalArea+'&txtExperience='+txtExperience+'&txtJobDesc='+txtJobDesc+'&txtEducation='+txtEducation+'&txtDesiredProfile='+txtDesiredProfile+'&txtPositionWanted='+txtPositionWanted+'&txtAddedBy='+txtAddedBy+'&txtContactName='+txtContactName+'&txtEmailid='+txtEmailid+'&txtContactno='+txtContactno,
      datatype = 'html',
      success: function(response){
        $('div.success').html(response);
        }
      });
   });
 });<s/cript>";

и

Page.ClientScript.RegisterStartupScript(this.GetType(), "reset", scriptString, true);
...