2014-11-04 196 views
0

我有以下代码。它在IE中运行良好,但在Chrome和Firefox中无法运行。没有显示错误。它只是没有得到输入的值。有人可以帮我解决这个问题。提前致谢。

File 'main.php' 
--------------- 

<tr> 
<td width="11%" class="style171"></td> 
<td width="55%" bgcolor="#A8D3FF" class="style171"><strong>APPROVE</strong></td> 
<td width="16%" bgcolor="#A8D3FF" align="center"><input type="radio" name="approve" id="approve" value="1" <?php if ($approve== '1') echo "checked"; ?> /></td> 
<td width="18%"></td> 
</tr> 
<tr> 
<td width="11%" class="style171"></td> 
<td class="style171" bgcolor="#A8D3FF"><strong>NOT APPROVE</strong></td> 
<td bgcolor="#A8D3FF" align="center"><input type="radio" name="approve" id="approve" value="2" onClick="processForm()" <?php if ($approve== '2') echo "checked"; ?> /></td> 
<td width="18%"></td> 
</tr> 
<tr> 
<td width="11%" class="style171"></td> 
<td colspan="2" align="left"><div id="div_data"></div></td> 
<td width="18%"></td> 
</tr> 


<script type="text/javascript"> 

function processForm() 
{ 
    var val = 0; 

    if(window.document.getElementById('approve').checked) 
     var val = 1; 

    $.ajax({ 
     type: 'POST', 
     url: 'not_approved.php', 
     data: "value="+val, 
     cache: false, 
     success: function(html){ 
      $("#div_data").html(html); 
     } 
    }); 
} 

</script> 


File 'not_approved.php' 
----------------------- 

<form id="formt" name="formt" method="post" action=""> 
    <table width="100%" border="0" align="left" cellpadding="1" cellspacing="0" bgcolor="#D8EEFE"> 
    <tbody> 
     <tr> 
     <td colspan="3"><table width="100%" border="1" bordercolor="#33CCFF" cellspacing="0" cellpadding="1"> 
      <tbody> 
      <tr class="style2"> 
       <td align="left"><font color="#FF0000">*</font> Enter your comments here. 
       <table width="430" border="0"> 
        <tr class="style2"> 
        <td width="10" align="left" valign="top"></td> 
        <td width="410" colspan="2" align="left" valign="top"><textarea name="comment" id="comment" cols="45" rows="5"><?php echo $comment; ?></textarea></td>   
        </tr> 
       </table></td> 
      </tr> 
      </tbody> 
     </table></td> 
     </tr> 
    </tbody> 
    </table> 
</form> 

回答

0

试试这个

  function processForm() 
      { 
       var val = 0; 

       if(window.document.getElementById('approve').checked) 
        var val = 1; 

       $.ajax({ 
        type: 'POST', 
        url: 'not_approved.php', 
        data: {value:val}, 
        cache: false, 
        success: function(html){ 
         $("#div_data").html(html); 
        } 
       }); 
      } 

      </script> 

**申请变更**数据

+0

我试过了,但仍然不起作用。它显示'Notice:Undefined index:fieldname' – anny 2014-11-04 06:52:02

+0

但是我不能在你的代码中看到'fieldname'。所以你可以提供完整的代码和html – 2014-11-04 07:54:29

+0

我已经提供了上面的代码。 Tq – anny 2014-11-04 08:15:44

0

你是在传递错误的方式做数据如下

data: "{'value':"+val+"}", 

和如果该值是字符串,则

data: "{'value':'"+val+"'}", 

data: JSON.stringify({value:val}) 
+0

我试过'data:JSON.stringify({value:val})',但它在IE中不起作用。另外两个在IE中运行,但不在Chrome和Firefox中运行。我得到这个错误'注意:未定义的索引:fieldname'。 – anny 2014-11-04 07:05:21

0

您的数据变量不能是字符串格式,因为它是一个变量名。你应该做的是这样的:

<script type="text/javascript"> 

function processForm() 
{ 
    var val = 0; 

    if(window.document.getElementById('approve').checked) 
     var val = 1; 

    $.ajax({ 
     type: 'POST', 
     url: 'not_approved.php', 
     data: { 
       value: val, 
       } 
     cache: false, 
     success: function(html){ 
      $("#div_data").html(html); 
     } 
    }); 
} 

</script> 

这里分配给价值变量和分配我们使用冒号这里脚本变量val值:不是在AJAX =“”。在服务器端,捕获变量也必须具有相同的名称,即值。

+0

我试过了代码,但它在IE中不起作用。多么奇怪...... – anny 2014-11-04 06:41:43

+0

删除行'cache:false'然后尝试。 – 2014-11-04 06:42:55

+0

仍然无法正常工作...... :( – anny 2014-11-04 06:47:48

相关问题