【问题标题】:How to render (make clickable) a url in a stringfield using Wtforms如何使用 Wtforms 在字符串字段中呈现(使可点击)url
【发布时间】:2020-02-20 09:15:49
【问题描述】:

我正在尝试使 Wtforms 字符串字段中的 URL 可点击。

到目前为止,该 url 已填充到字符串字段中,但它不可点击/点击不会重定向到网页,因为它是文本。

查看表格图片:

我的js代码是:

function update_Company_Name()
{
    var my_isin_id = $('#isin_id').val();
    $.getJSON( $SCRIPT_ROOT + '/ajax_update_event_table',
            {
                isin_id: my_isin_id

            }, function(data)
            {
                if (data.success!=false){
                    $('#url_main').val(data.success['url_main']);
                }
                else{
                    alert('failed to update url box');
                }

            }
        );

};

后面的python/flask代码是:

from wtforms import StringField as _StringField

............blahbla
url_main = _StringField(label='Main Website')

我目前的解决方法是采用 cmets 中提供的板载信息。

在我的烧瓶/Wftforms 代码中添加了一个渲染:

url_main = _StringField(label='Main Website', render_kw={'onclick':'open_WebPage(this.value)', 'type':'button', 'readonly':None})

将表单显示为可点击,我想下一步是使用 css 将其显示为超链接

我在 Html 页面上添加了这个 java 脚本函数:

<script>

    function open_WebPage(url_to_open)
    {
        if(url_to_open)
        {
            window.open(url_to_open);
        }
    };
</script>


它可以解决问题,尽管我希望可能由另一个 Wftforms 组件提供更简单的解决方案,否则/我是 js、html python 的新手。

【问题讨论】:

  • 这更像是一个普通的 HTML/JavaScript 类型的问题。请参阅 stackoverflow.com/questions/3060055/link-in-input-text-field
  • 感谢您含蓄地指出您不能使用输入/字符串字段单击超链接。我是新来的。我已经用当前的答案/解决方法更新了我的问题,以防对其他人有帮助。

标签: python url flask wtforms


【解决方案1】:

这应该可以工作

from Flask import Markup

url_label = Markup("<a href='YOUR_URL'>Main Website</a>")
url_main = _StringField(label=url_label)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-08
    • 1970-01-01
    • 2011-07-13
    • 1970-01-01
    • 1970-01-01
    • 2014-08-09
    • 2020-09-22
    • 1970-01-01
    相关资源
    最近更新 更多