Ok ! After the comment and the edit, I've understand your need.
The problem you have is that the Varien_Data_Form_Element_Link use the value as the link label and not as the href.
So all you have to do is... create your own form element.
First, create your own class extending Varien_Data_Form_Element_Link
class Namespace_Module_Lib_Varien_Data_Form_Element_Customlink extends Varien_Data_Form_Element_Link
{
/**
* Generates element html
*
* @return string
*/
public function getElementHtml()
{
$html = $this->getBeforeElementHtml();
$html .= '<a id="'.$this->getHtmlId().'" '.$this->serialize($this->getHtmlAttributes()).' href="' . $this->getEscapedValue() . '">'. $this->getLinkLabel() . "</a>\n";
$html .= $this->getAfterElementHtml();
return $html;
}
/**
* Prepare array of anchor attributes
*
* @return array
*/
public function getHtmlAttributes()
{
return array_diff(parent::getHtmlAttributes(), array('href'));
}
}
Then, declare your custom type in your form
$fieldset->addType('custom_link','Namespace_Module_Lib_Varien_Data_Form_Element_Customlink');
Finally, use it :)
$fieldset->addField('link', 'custom_link', array(
'link_label' => 'Click me !',
'label' => Mage::helper('core')->__('Link label'),
'title' => Mage::helper('core')->__('Link Title'),
));
[...]
$form->addValues(array(
'link' => 'http://...'
));
EDIT
I've test it and used addValues() instead of setValues() to avoid removing the values already sets.
Any case, it works !