Php HTML<;输入>;元素没有入账价值?

Php HTML<;输入>;元素没有入账价值?,php,html,cross-browser,Php,Html,Cross Browser,好吧,这是个奇怪的问题 据我所知,我的代码是正确的。它在Mac上的Safari、iPhone上的Safari和Android平板电脑上的Google Chrome中都能工作。但是,它不适用于Firefox或Internet Explorer;我一辈子都搞不懂为什么 问题是:当我单击一个标记并提交表单时,该标记的值没有被发布。更奇怪的是,X和Y值被发布了-这是一个图像输入标记-但没有值 以下是相关的HTML片段: <input type='image' name="edit" value="

好吧,这是个奇怪的问题

据我所知,我的代码是正确的。它在Mac上的Safari、iPhone上的Safari和Android平板电脑上的Google Chrome中都能工作。但是,它不适用于Firefox或Internet Explorer;我一辈子都搞不懂为什么

问题是:当我单击一个
标记并提交表单时,该标记的值没有被发布。更奇怪的是,X和Y值被发布了-这是一个图像输入标记-但没有值

以下是相关的HTML片段:

<input type='image' name="edit" value="59" class="news-control news-control-hidden" src="assets/edit.png"/></input>
我的PHP网页上有以下代码:

<form name="newsform" method="post" action="Admin.php">
    <table class="editable-list">
<?php
        $entries = get_news_posts();
        if (empty($entries)) {
?>
            <tr><td><p style='margin: 6px 10px 16px 0px'>No news posts exist.<br><br>Click the button below to create one.</p></td></tr>
<?php
        } else
            foreach ($entries as $row) {
                make_editable_news_item($row['date'], $row['content'], $row['ID'], isset($_POST['edit']) ? $_POST['edit'] : null);
            }
        if (!isset($_POST['edit'])) {
?>
            <tr><td class='news-add-post' colspan='7'>
                <input type="submit" name="create_new" value="Create new post"/><br>
            </td></tr>
<?php                       }       ?>
    </table>
</form>

不存在新闻帖子。

单击下面的按钮创建一篇


我还有这个功能:

    function make_editable_news_item($datestamp, $content, $id, $editing_id) {
?>
    <tr class="news-item">
        <td class="news-controls">
<?php   if ($id == $editing_id) {       ?>
                <input type='image' class="news-control" src="assets/undo.png"/></input>
<?php       } else if (!isset($editing_id)) {                   ?>
                <input type='image' name="edit" value="<?= $id ?>" class="news-control news-control-hidden" src="assets/edit.png"/></input>
<?php       }       ?>
            &nbsp;
        </td>
        <td class="news-datestamp">
            <?= format_datestamp($datestamp) ?>
<?php   if ($id == $editing_id) {       ?>
                <div style="background-color: #eee; height: 1px; margin: 6px;"></div>
                <div class="news-control-datestamp">
                    <input name='update_date' class="news-control-datestamp" type="checkbox">
                        Update
                    </input>
                </div>
<?php       }       ?>
        </td>
        <td class="news-separator"/>
        <td class="news-divider"/>
        <td class="news-separator"/>
        <td class="news-content">
<?php   if ($id == $editing_id) {       ?>
                <textarea name="content" class="news-content"><?= $content ?></textarea>
<?php   } else {    ?>
                <div class="news-content"><?= $content ?></div>
<?php       }       ?>
        </td>
        <td class="news-separator"/>
        <td class="news-separator"/>
        <td class="news-separator"/>
        <td class="news-controls">
<?php   if ($id == $editing_id) {       ?>
                <input type='image' name='save' value='<?= $id ?>' class="news-control" src="assets/save.png"/></input>
<?php       } else if (!isset($editing_id)) {                   ?>
                <input type='image' name="delete" value="<?= $id ?>" class="news-control news-control-hidden" src="assets/delete.png"/></input>
<?php       }       ?>
            &nbsp;
        </td>
    </tr>
    <tr class="news-separator"></tr>
<?php } ?>
函数使新闻项可编辑($datestamp、$content、$id、$editing\u id){
?>

图像输入应该用于服务器端图像映射

它们不发布它们的值,而是发布(作为
name.x
name.y
(PHP将
转换为
.
,因为您不能在变量名中包含
,因此使用旧的默认寄存器全局变量可能会失败))单击的像素的坐标

如果要传递值,请使用常规的提交按钮

<button name="edit" value="59">
    <img src="assets/edit.png" alt="Edit: 59">
</button>


他们当然会在Safari和Chrome中发布他们的值;)不幸的是,在Firefox中使用嵌套/标记会导致按钮样式的外观,而不是我想要的漂亮干净的图像外观。有渐变的灰色背景和灰色边框;图像在按钮内没有正确居中,并且按钮比实际宽度更宽l、 我对这个元素的css是:文本装饰:无;溢出:隐藏;光标:指针;填充:2px;宽度:36;高度:36;文本装饰:无;边框:1px纯白;背景色:白色;我在我的Firefox副本中没有看到。我看到了。看看这个。Firefox在左边,Safari在右边:嗯,这很奇怪。我刷新了pag又一次,它看起来是对的。可能是某种缓存问题?无论如何,谢谢你的帮助!
<form name="newsform" method="post" action="Admin.php">
    <table class="editable-list">
    <tr class="news-item">
        <td class="news-controls">
            <input type='image' name="edit" value="59" class="news-control news-control-hidden" src="assets/edit.png"/></input>
            &nbsp;
        </td>
        <td class="news-datestamp">     5th Dec 2015<br>11:12pm         </td>
        <td class="news-separator"/>
        <td class="news-divider"/>
        <td class="news-separator"/>
        <td class="news-content">
            <div class="news-content">...</div>
        </td>
        <td class="news-separator"/>
        <td class="news-separator"/>
        <td class="news-separator"/>
        <td class="news-controls">
            <input type='image' name="delete" value="59" class="news-control news-control-hidden" src="assets/delete.png"/></input>
            &nbsp;
        </td>
    </tr>
    <tr class="news-separator"></tr>
        <tr><td class='news-add-post' colspan='7'>
            <input type="submit" name="create_new" value="Create new post"/><br>
        </td></tr>
    </table>
</form>
<button name="edit" value="59">
    <img src="assets/edit.png" alt="Edit: 59">
</button>