php - 如何使用 AJAX、JSON 和 PHP 在选择框中更改值来检索表单?

标签 php javascript ajax json calendar

我有一个选择框,在其中选择一个值时,我必须显示一个表单,其中有一个包含 javascript 日历功能的日期字段。我尝试使用普通的 AJAX 和 PHP 组合,但我没有在其中获取日历,所以我只需要知道如何使用 JSON、AJAX 和 PHP 实现它?

谢谢

不胜感激....

代码

这是我用于 AJAX 功能的 Javascript:

<script>
function Inint_AJAX() {
try { return new ActiveXObject("Msxml2.XMLHTTP");  } catch(e) {} //IE
try { return new ActiveXObject("Microsoft.XMLHTTP"); } catch(e) {} //IE
try { return new XMLHttpRequest();          } catch(e) {} //Native Javascript
alert("XMLHttpRequest not supported");
return null;
};
function dochange(path,val) {
var req = Inint_AJAX();
req.onreadystatechange = function () {
 if (req.readyState==4) {
      if (req.status==200) {
            document.getElementById('docfields').innerHTML="";
            if(req.responseText != ''){
           document.getElementById('docfields').innerHTML=req.responseText; //retuen value
            }else{
            document.getElementById('docfields').innerHTML="<br>&nbsp;\t<font size='2'><b>No Fields Available</b></font>";
            }
      }
 }
};
req.open("GET", path+"getDocFields.php?doctype_id="+val); //make connection
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded;charset=iso-8859-1"); // set Header
req.send(null); //send value
}
</script>

下面是我需要用在脚本标签中实例化的日历对象 (tcal) 显示的 HTML 表单:

<form onsubmit="" action="" method="post" name="newdoc">
         <table border="0" style="border: medium none;" id="docfield">
          <tbody>
          <tr>
            <td style="border-right: medium none;">
                Date
            </td>
         <td style="border-right: medium none;">
            <input type="text" value="" maxlength="10" name="Test" style="width: 100px;" id="date">
        <script>
         new tcal ({  
      'formname': 'newdoc',  
      'controlname': 'Test'
         });
     </script>
        </td>
     </tr>
    </tbody>
 </table>
</form>

我没有显示日历...

最佳答案

我在响应 html 中看到 javascrip,如果 html 通过 ajax 调用,它将永远不会执行。 尝试把那个javascript

new tcal ({
'formname': 'newdoc',
'controlname': 'Test'
});
在您的 XMLHttpRequest 对象获取数据并将数据放入“#docfields”之后。

if (req.readyState==4)
{
   if (req.status==200)
   {
      document.getElementById('docfields').innerHTML="";
      if(req.responseText != '')
      {
          document.getElementById('docfields').innerHTML=req.responseText; //retuen value
          /** here **/
          new tcal ({'formname': 'newdoc','controlname': 'Test'});
          /** here **/
      }
      else
      {
          document.getElementById('docfields').innerHTML="No Fields Available";
      }
   }
}

希望对您有所帮助。

关于php - 如何使用 AJAX、JSON 和 PHP 在选择框中更改值来检索表单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4488210/

相关文章:

PHP 函数转义 MySQL 正则表达式语法

PHP & MySQL : confusion following code to determine new object's properties

javascript - 没有使用 wkhtmltopdf 渲染 amchart

javascript - 使用条件遍历 dom 元素的最佳方法?

c# - AJAX 发布数据到达 ASP.NET Core 2.1 Controller 时为空

java - 执行ajax时出现问题

php - Ajax将请求结果返回到整个屏幕而不是指定的文本区域

php - 如何为 Multi-Tenancy SaaS产品设计有效的数据库?

javascript - JSON 对象 - 在 React Native 中访问值

java - 如何重新加载 Java InputStream