iPhone SDK НЕ предоставляет Вам прямой доступ для набирания номеров (вообразите, вошла ли 'плохая' программа телефон и набрала плату на мелкое число на бесшумном режиме, таким образом, Вы не заметили).
Однако при использовании ссылки телефона, тогда необходимо быть в состоянии отправить ее"", символы, который вставляет паузы.
Так для набора номера 555-1212 затем ожидайте 4 секунды, затем сделайте 12345# на сенсорном тоне, Вы использовали бы tel:5551212, 12345#
Я нашел блог , который, кажется, дает довольно приличное решение этой проблемы. Он включает добавление настраиваемого события в подкласс TextBox и регистрацию клиентского сценария, который вызывает событие на стороне сервера в клиентском событии onblur JavaScript.
Ниже представлена моя реализация в VB:
Public Class MyTextBox
Inherits TextBox
Implements IPostBackEventHandler
Protected Overrides Sub OnInit(ByVal e As System.EventArgs)
MyBase.OnInit(e)
If Not Page.ClientScript.IsClientScriptBlockRegistered("OnBlurTextBoxEvent") Then
Page.ClientScript.RegisterStartupScript(MyBase.GetType, "OnBlurTextBoxEvent", GetScript, True)
Attributes.Add("onblur", "OnBlurred('" & UniqueID & "','')")
End If
End Sub
Public Delegate Sub OnBlurDelegate(ByVal sender As Object, ByVal e As EventArgs)
Public Event Blur As OnBlurDelegate
Protected Sub OnBlur()
RaiseEvent Blur(Me, EventArgs.Empty)
End Sub
Private Function GetScript() As String
Return "function OnBlurred(control, arg)" & vbCrLf & _
"{" & vbCrLf & _
" __doPostBack(control, arg);" & vbCrLf & _
"}"
End Function
Public Sub RaisePostBackEvent(ByVal eventArgument As String) Implements System.Web.UI.IPostBackEventHandler.RaisePostBackEvent
OnBlur()
End Sub
End Class
Что ж, это довольно странный план, но вы можете использовать onblur на стороне клиента для вызова form.submit ();.
Почему бы вам не использовать текстовое поле asp со свойством AutoPostBack , установленным в значение true.
<asp:TextBox ID="TextBox1" runat="server" AutoPostBack="True"></asp:TextBox>
Спасибо за это, все работает как надо. Только одну вещь нужно изменить: оберните значение UniqueID, переданное в функцию OnBlurred, в кавычки, чтобы оно использовалось как строка, а не как экземпляр элемента управления. То есть:
Attributes.Add("onblur", "OnBlurred(" & UniqueID & ",'')")
становится:
Attributes.Add("onblur", "OnBlurred('" & UniqueID & "','')")