在第一次查询后在表单上显示<input type =“ search” />输入字段的值(javascript)

时间:2019-03-31 02:55:31

标签: javascript html5 forms get

我在获取表单上使用HTML5输入字段来在我的网站上实施搜索:

travel_score = input("How many times per year do you travel? Please give an integer number: ")

while type(travel_score) is not int:    
    try:
        travel_score = int(travel_score)
    except ValueError:
        travel_score = input("This was not a valid input please try again: ")


print ("User travels per year:", travel_score)

一切正常,但是在第一次搜索后,用户输入的搜索字符串不会保存在搜索字段中,而是会再次显示<input type="search" name="q" placeholder="search" value=""> 属性值。

第一次搜索后,我希望用户输入的搜索字符串显示在表单的搜索字段中。

这意味着在第一次搜索之前,输入字段的placeholder属性需要为“”(以便显示value属性值),然后在第一次搜索之后进行动态更新。

>

我从placeholder了解到  用户输入的值存储在Mozilla documentation on <input type="search">中,但是我的编程技能和经验有限。

我没有使用php,谢谢。

2 个答案:

答案 0 :(得分:0)

尝试将此int main() { int T; cin>>T; while(T--) { long long int N, K; cin>>N>>K; long long int arr[N]; for(long long i=0; i<N; i++) { cin>>arr[i]; } long long int max = INT_MIN; long long int dp[N]; for(int i=N-1; i>=0; i--) { if((i+K)>=N) { dp[i] = arr[i]; } else { dp[i] = (dp[i+K]+ arr[i]); } } for(int k=0; k<N; k++) { if (dp[k]>max) { max = dp[k]; } } cout<<max<<endl; } getchar(); return 0; } 添加到函数中,事件将被取消,但不会传播。如果您想了解更多信息,请参见以下文档:https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault

答案 1 :(得分:0)

解决了以下问题:

  • DOMContentLoaded触发javascript

(https://developer.mozilla.org/en-US/docs/Web/API/Window/DOMContentLoaded_event)

  • URLSearchParams和URLSearchParams.get()获取查询字符串

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams/get

  • getElementById以在输入字段中设置值

https://developer.mozilla.org/en-US/docs/Web/API/Document/getElementById

这是一个常见问题-

How can I get query string values in JavaScript?

<input type="search" name="q" placeholder="search" id=mySearch required value="">

<script type="text/javascript">
window.addEventListener('DOMContentLoaded', (event) => {
    let params = new URLSearchParams(document.location.search.substring(1));
    let qstring = params.get("q"); // is the string for the query
    document.getElementById("mySearch").value = qstring;
});
</script>