0

ajaxポストメソッドを使用してaspxからphp.inに値を送信しています.dbに値を挿入した後、ボタンクリックイベントでそのajaxメソッドを関数として呼び出しています.スクリプトを呼び出すだけですが、2回目にクリックすると.そのスクリプトだけが、最初にクリックしたときにそれを修正する方法を呼び出していますか?また、このメソッドはfirefoxでは機能しませんが、2回目にクリックすると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);
}
4

2 に答える 2

1

試す:

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

それが役に立てば幸い

于 2011-12-27T11:12:33.897 に答える
0
  1. onでイベント ハンドラを使用できますjquerylive, bind and delegatejquery 1.7 で廃止されました。
  2. attr('value')代わりに使用する必要はありませんval()
  3. にあることdatatype = 'html'を示す ajax 呼び出しに含めます。responsehtml

  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);
于 2011-12-27T11:20:09.123 に答える