【问题标题】:Javascript Upload informations from buttonJavascript 从按钮上传信息
【发布时间】:2014-05-09 14:31:05
【问题描述】:

我正在研究在 php(phtml 视图文件)中生成的概括头带,如下所示:

echo    "<div>
        Nom : " . $this->currentP->getName() . "</br>
        " . "Version : " . $this->currentP->getVersion() . "</br>
        " . "Date de début : " . $this->currentP->getCreation_date() . "</br>
         ...
        </div>";

我想在每个字段旁边有一个小按钮(带有图像),它突出显示每个字段的当前值,并允许用户在不提交等情况下直接更改它......一种概括性仪表板上的动态版本。这样就可以在不弹出窗口或更改当前页面的情况下编辑呈现的对象。

我没有在网上找到任何东西,所以我认为这要归功于我不太了解的 Javascript。

首先,我不知道是否必须声明链接或按钮才能调用更新函数。那么,接下来会发生什么?

感谢您的阅读和您的回答!

【问题讨论】:

    标签: javascript php jquery upload


    【解决方案1】:

    1)您为每个字段添加按钮(或者更好的是,直接单击字段):&lt;div class='editableField'&gt;&lt;span&gt;Some text to edit&lt;/span&gt;&lt;/div&gt;

    2) 在字段单击时,隐藏文本并应用输入字段

    $('.editableField').click(function(){
        $(this).append('<input type="text" value="'+$('span', this).text()+'" class="editableInput"/>');
        $('span', this).remove(); // remove this span temporary
    });
    

    3).editableInput焦点时,使用ajax调用保存字段值:

    $(document).on('focusOut', '.editableInput', function(){
        $.ajax({
           url: 'example.com/saveFieldValues.php',
           type: 'post',
           data: {fieldValue: $(this).val()},
           success: function(){
               $(this).parent().append('<span>'+$(this).val()+'</span>'); // return back old span element
               $(this).remove(); // remove unnecessary input field 
           }
        });
    });
    

    【讨论】:

    • 非常感谢,这是一个好的开始。问题是:当我集中注意力时,输入并没有消失,并且另一个弹出,没有关闭当前。显然,ajax 是最好的解决方案。第二个小问题,如果我想在focusOut之后更新数据库,我是否应该在“url:”部分调用函数?
    • @user3620744 确保您尝试删除正确的元素。是的,在 url 部分你调用 PHP 中的特定函数
    猜你喜欢
    • 2015-04-25
    • 1970-01-01
    • 1970-01-01
    • 2012-03-11
    • 1970-01-01
    • 2014-09-18
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多