من یک تابع ajax نوشته ام که در رویداد onclick تگ a فراخوانی می شود مشکل این جاست که اگر مقدار درون متغیر ارسالی (seachname,searchtype)به تابع دارای فاصله باشد دیگر تابع کار نمی کند ،لطفا علت و راه حل را راهنمایی کنید .
باتشکر
در data قسمت } را از تک کوتیشن خارج کنید
میشه بگید دقیقا چطور بنویسم ؟وقتی تگ کوتیشن را بر میدارم علامت + اول خطا دارد.
کد را ضمیمه کنید تا درست کنم
الان این تصویر هست
<script type="text/javascript"> function showproducts(searchname, searchtype) { alert(searchname); alert(searchtype); $.ajax({ type: "POST", url: "Default.aspx/displayproducts", data: JSON.stringify({ searchname: searchname, searchtype: searchtype }), contentType: "application/json; charset=utf-8", dataType: "json", success: function (response) { alert('صحیح'); }, failure: function (response) { alert('خطا'); } }); } </script>
وقتی پارامتر دارای فاصله می باشد گویا اصلا وارد تابع نمی شود.با تشکر
در ارسال پارامتر از
urldecode استفاده کنید
onclick='Fun(urldecode($('#txt').val()))'
li2 += "<div> <li><a onclick=showproducts(urldecode(" + "'" + sub_name + "'" + ")" + "," + "urldecode(" + "'" + parrent_name + "'"+")" + @") href='grid.aspx'>" + sub_name + "<span> (" + sub_name_en + ") </span></a></li></div>";
به این شکل استفاده کردم اما متاسفانه تاثیری نداشت
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)